我们有一个带有几个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 ..),则只有第一次出现时显示红色 - 它应该全部变为红色。发生了什么事?
答案 0 :(得分: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!