在所有元素jQuery上使用.addClass()

时间:2013-06-22 01:38:10

标签: jquery addclass

我正在尝试在元素后面的所有标记中添加一个类。这意味着我不想在每个img-tag中添加一个类,而只是在“trow1”之后出现的类。

<td class="trow1"
<img src="somesite.com">
</td>
<td class="trow1"
<img src="somesite.com">
</td>

我可以这样做:

$("td.trow1").find('img').addClass('myClass');

但它只会将类添加到第一个img-tag。

2 个答案:

答案 0 :(得分:2)

看起来某些格式错误的HTML可能会导致问题。

$("td.trow1").find('img')是加载选择器的'首选'方式,因为它实际上比将其填充到一个选择器调用更高效(由于sizzle引擎需要正则表达式进行解析)。

答案 1 :(得分:2)

你能做这样的事吗?我假设你在trow1 td中只有一个图像

$("td.trow1 img").addClass('myClass');

正如其他人所说。确保您的标签正确关闭。那可能搞砸了选择者。请注意>

之后的class="trow1"括号
<td class="trow1">
<img src="somesite.com">
</td>
<td class="trow1">
<img src="somesite.com">
</td>