0

我们有一个带有几个 span 标签的简单 HTML 页面,需要根据它们包含的内容更改文本的 css 样式。这适用于页面上的第一次出现,但不适用于第二次(可能是所有后来的出现)。

$(function(){
  $("span#someId:contains('Text to change red')").css('color','red');
});

跨度看起来像这样:

<td><span id="someId">Text to change red</span></td>

如果在页面上重复相同的跨度(具有相同的 id..),则只有第一次出现显示红色 - 它应该将它们全部变为红色。这是怎么回事?

4

1 回答 1

3

使用类而不是 ID(因为 ID 应该是唯一的 - 每页 1 个):

<td><span class="myspan">Text to change red</span></td>

接着:

$("span.myspan:contains('Text to change red')").css('color','red');

或者,如果唯一重要的部分是跨度中的文本,您可以将其简化为:

$("td span:contains('Text to change red')").css('color','red'); //If td is even needed!
于 2013-08-12T21:19:46.480 回答