使用jQuery目标词并添加样式

时间:2017-03-31 09:28:33

标签: javascript jquery html css

所以,这可能是一个简单的问题,但我的jQuery技能还不是那么好(还)。我试图在网页上定位特定单词并为其添加样式。我试图定位的单词在页面上出现多次。我搜索了一些,发现了这个:

<script>
    var divContent = document.getElementById("styled").innerHTML;
    divContent = divContent.replace("Bevestigd","<span class='styled'>Bevestigd</span>");
    divContent = divContent.replace("Geannuleerd","<span class='styled-r'>Geannuleerd</span>");
    divContent = divContent.replace("Pending","<span class='styled-p'>Pending</span>");
    document.getElementById("styled").innerHTML = divContent;
</script>

这是有效的,有点......它只针对第一次遇到这个词并且不会重复它。我找到了许多代码来定位页面上的一个单词,但是这个代码看起来效果最好......有没有可以帮助我的东西?

我缺少foreach功能吗?

我也试过这段代码:

$('body').html(
    function(i,h){
        return h.replace(/(Nike)/g,'<span class="nike tm">$1</span>');
    });​

这看起来有点简单,但是没有用......也许某人有这个或其他的片段?

1 个答案:

答案 0 :(得分:0)

这是你在jquery上完成的js代码。看看这个jsfiddle

$('#styled').html(function(i,v){    
       v=v.replace(/Bevestigd/g,'<span class="styled">Bevestigd</span>');
       v=v.replace(/Geannuleerd/g,'<span class="styled-r">Geannuleerd</span>');
       v=v.replace(/Pending/g,'<span class="styled-p">Pending</span>');
       return v;
    });

这是通过正则表达式完成的。 我们可以进一步扩展它。

例如。要使搜索不区分大小写,请使用/Bevestigd/gi而不是/Bevestigd/g