0

我的网站上有一个评分框,它出现在一篇文章的下方,然后同样的评分框再次出现在人们对该文章发表的评论中。因此,费率框会在页面上多次出现。我正在尝试更改显示在该费率框中的文本,但不幸的是,我没有对我拥有的网站类型的服务器访问权限。所以我需要用脚本来做。

我现在使用的小脚本有效,但它只适用于一流的盒子。但是,我需要更改每个文本中的文本。我正在尝试将现有的“评价”文本更改为“喜欢”。

.SUI-RateBox是 div 类,我需要更改的文本位于该类中的一个跨度中。

我拥有的仅适用于第一个实例的代码是这样的:

<script>
  $(".SUI-RateBox span:contains('Rate')").html("Like");
</script>

我怎样才能做到这一点,但对所有的费率框。dom结构在下面的链接中。

http://www.spruzstuff.spruz.com/pt/Element-Background-Image/wiki.htm

4

2 回答 2

1

我不确定您为什么要使用#(没关系,您更改了问题的详细信息),但试试这个:

<script>
   $(".SUI-RateBox").find("span:contains('Rate')").html("Like");
</script>

http://jsfiddle.net/EhPP7/

于 2012-10-03T16:04:16.037 回答
0

或者,我想您也可以尝试.each()遍历其中的每个跨度标签div.SUI-RateBox并一个接一个地检查文本值。

$(document).ready(function () {
    $("*.SUI-RateBox").each(function(){
        var sp = $(this).children("span");
        if(sp.text() == 'Rate')
            sp.text('like');            
    });
});
​

http://jsfiddle.net/cZMFC/1/

另请查看jQuery .each() API

于 2012-10-03T16:36:29.120 回答