当由Jquery动态替换时,锚标记显示为Text

时间:2014-03-10 11:13:02

标签: jquery

我在javascript中有以下jquery代码。

$('body:first :not(:has(*))').text(function (i, v)
{
   return v.replace(/(0\s?)([1-8]\s?)(\d\s?){8,9}/g, "<a class='phone_number_clicked' href=\"javascript:;\">$&</a>");
});

我循环遍历正文,然后找到特定正则表达式的文本匹配,并用超链接替换它。

但是,当我运行页面而不是出现超链接时,会显示锚标记。

有人可以帮忙吗

1 个答案:

答案 0 :(得分:0)

解决方案是改变&#34; .text()&#34;在上面的代码中&#34; .html()&#34;这就是诀窍。我之前将表达式替换为文本而不是HTML。

$('body:first :not(:has(*))').html(function (i, v)
{
   return v.replace(/(0\s?)([1-8]\s?)(\d\s?){8,9}/g, "<a class='phone_number_clicked'    href=\"javascript:;\">$&</a>");
});