我有许多页面包含这种格式的电话号码xxx-xxx-xxxx。 这些电话号码不是链接,我需要做的是编写一些脚本,首先找到这些电话号码。这是我已经获得国家是:jQuery/JavaScript查找并用RegEx替换
$(document).ready(function(){
var content = $(".main").text();
var phoneNumber = content.match(/\d{3}-\d{3}-\d{4}/)
alert(phoneNumber);
});
这工作在这么多,就是抓住了号码,我现在需要做的是更换电话号码的页面上
'<a href=" onclick=" ... "' + 'tel:' + phoneNumber + '">' + 'originalPhoneNumber' + '</a>'
然而我完全失去了这一点。我可以在jQuery中使用.replaceWith()
吗?
编辑:
好吧,我试图修改代码以包括第二属性我想:
$(document).ready(function() {
var content = $(".main").html();
content = content.replace(/\d{3}-\d{3}-\d{4}/g, function(v){
return $('<a>').attr({
href: "tel:"+v,
onclick: "ga('send', 'event', 'lead', 'phone call', 'call');"
}).html(v)[0].outerHTML;
});
$('.main').html(content);
});
它仍然将在href但它忽略的onclick。
*“我可以用'.replaceWith()'jQuery中?“''.replaceWith()'适用于DOM元素,不适用于字符串。 – 2014-09-26 21:35:21
@FelixKling OP想要使用正则表达式的替换方法... – 2014-09-26 21:38:22
您应该在服务器端完成这项工作,然后保存包含更改的页面,否则每次加载页面时都会执行替换。 – 2014-09-26 21:50:17