jquery 怎么获取tr下的第二个td元素?

直接上代码。

HTML:
1 1 2 3
2 4 5 6
3 7 8 9
4 1 2 3
<input type="button" id="btn" value="设置">
jQuery: javascript $(function() { $('btn').click(function() { $('test tr td:nth-child(2 )').addClass('red'); }); $('test tr').click(function() { $(this).children('td').eq(1 ).addClass('red'); }); });
效果:
点击按钮,所有行的第二个单元格变红。

点击任意行,该行第二个单元格变红。

直接用这个代码测试。

jquery选择器中两个class是什么意思

嗨,你问这个挺有意思的。
我上次做项目的时候正好用到了这个功能。

你看啊,jQuery里俩class之间加个空格,确实就是找层级关系。
比如 .c1 .c2 ,意思就是从所有.c1 的元素里面,去找它后代里所有.c2 的元素。
注意这里说的后代,可不是光指直接子元素,是所有后代,比如孙子辈、重孙子辈都算。

所以你那个例子说得对,像这样
,用.c1 .c2 选的就是那个span,不是div。
如果里面还有嵌套,比如

,那.c1 .c2 照样能选中span。

我之前刚开始用的时候,也容易搞混,以为空格就是找直接子元素。
后来在某个论坛看到例子才明白,确实是个坑。
所以提醒你,用的时候注意下层级关系。

不过说实话,有时候用空格选择器容易让HTML结构看起来有点耦合,代码可读性可能受影响。
如果结构特别复杂,可能还得用别的选择器或者直接写路径。
这事儿吧,看情况,没有绝对好不好。

反正你看着办就行,具体怎么用得看你项目需求。