正規表現での文字列の置換について質問です。
telというクラスがついてる要素の中が電話番号だったら
リンクを付けるという処理をしたのですが
なんでちゃんと動いているのかわからないです。
main.jsのソースは、ネットの記事から拾ってきたのですが
main.js4行目 function(match)
の引数matchはどこから渡ってくる値なのかが理解できません。
matchの値を出力すると「000-0000-0000」が入っています。
なぜtelクラスの要素の中身がここに入るのでしょうか。
html
1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <title>Document</title> 8</head> 9<body> 10 <p class="tel">000-0000-0000</p> 11 <div class=""> 12 <p>000-0000-0000</p> 13 <p>カレー</p> 14 </div> 15 <script src="https://code.jquery.com/jquery-2.2.4.min.js" 16 integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script> 17 <script src="main.js"></script> 18</body> 19</html>
javascript
1$(function () { 2 $('.tel').each(function(i, el){ 3 if (!$(el).find('a').length){ 4 el.innerHTML = el.innerHTML.replace(/^0\d{2,3}-\d{1,4}-\d{4}$/g, function(match){ 5 console.log(match); 6 return '<a href="tel:' + match.replace(/-/g, "") + '">' + match + '</a>'; 7 }); 8 } 9 }); 10});
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/10 14:40