javascript - 如何将页面上的所有电话号码更改为可点击的链接,不包括特定分类的元素

标签 javascript jquery

我想将通过 CMS 输入的所有电话号码转换为可点击的电话号码。基本上,我希望将 800-777-0000 转换为:

<a href="tel:8007770000">800-777-0000</a>

但是,我不希望按钮(已经正确格式化)被更改。因此,此项应保持不变:

<a href="tel:8007770000" class="button">Call Today</a>

我用 Codepen 上的笔完成了 99.999% 的任务 http://codepen.io/vaughndtaylor/pen/XdGqjL ,但我不确定如何排除具有“按钮”类的元素?

===

编辑:

我修改了下面的代码:

$.each($('.content-cms').find('p, ol, ul, h2, h3, h4, h5, div:not(.button-row), a:not(.button)'), function(i, value) {
  console.log(value);
  $(value).html(ReplacePhoneNumbers($(value).html()));
});

最佳答案

--正确理解后编辑--

如果您没有嵌套的 .button 元素,这应该可以工作:

替换:

$(".content-cms").html(ReplacePhoneNumbers($(".content-cms").html()));

与:

$.each($(".content-cms").find('*').not('.button'), function(index,value) 
{
    $(value).html(ReplacePhoneNumbers($(value).html()));
});

关于javascript - 如何将页面上的所有电话号码更改为可点击的链接,不包括特定分类的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37170634/

相关文章:

jQuery:加载外部 HTML 内容;访问插入的元素失败

javascript - Ajax 在第二次调用时不接收数据

javascript - 单击多个 div/id 时选择/激活的最大类数设置阈值

javascript - Redactor-js 和blurCallback

javascript - 将数组或对象传递给函数将其转换为字符串

javascript 选择自定义光标 (svg)

javascript - 如何附加 json 并使用 ajax(可观察数组)显示结果

javascript - jQuery 按数据属性选择元素意外结果

Javascript array.prototype 几乎到处都被打印

javascript - 如何通过点击广告在新窗口中打开链接?