有没有办法将 $(this) 与 :nth-child 结合起来?

Posted

技术标签:

【中文标题】有没有办法将 $(this) 与 :nth-child 结合起来?【英文标题】:Is there a way to combine $(this) with :nth-child? 【发布时间】:2011-08-24 10:01:50 【问题描述】:

我正处于 .each 迭代的中间,想为 each 调用第二个或第三个孩子。但无法使其工作。

alert($(this + ' :nth-child(2)').attr('id'));

我能想到的唯一选择是像这样可怕的愚蠢:

 $(this).children(':first').next().attr('id', 'ddParam' + newCount);
 $(this).children(':first').next().next().attr('id', 'txt' + newCount);
 $(this).children(':first').next().next().next().attr('id'...

【问题讨论】:

你试过$(this).find(':nth-child(2)')吗? 我没有,但现在我有了,但没有产生任何结果.. 谢谢 我的错 - 哈哈...在我的情况下,孩子 #2 没有 ID(因此返回空白) 【参考方案1】:

您需要的是context。使用上下文,选择器将只查找上下文的子元素(在本例中为 this)。

$(':nth-child(2)', this).attr('id');

jsFiddle Demo

这与:

$(this).find(':nth-child(2)').attr('id');

如果你只需要直系子代,而不是每个后代,你应该使用.children():

$(this).children(':nth-child(2)').attr('id');

【讨论】:

alert($(':nth-child(1)', $(this)).attr('id')); -- 谢谢,但这对我没有任何意义……有什么想法吗? @toddv 哦,我有一个错误,已修复。我添加了一个 jsFiddle 让你测试一下。 哎呀..我的孩子 #2 没有 id - 因此是一个空白弹出窗口 --- 对不起。感谢您的回答!

以上是关于有没有办法将 $(this) 与 :nth-child 结合起来?的主要内容,如果未能解决你的问题,请参考以下文章

将 Swagger 与 Flask 一起使用 [关闭]

有没有办法根据 y 中的真实标签对特征 X 进行转换?

有没有办法从

有没有办法使成员函数不能从构造函数调用?

有没有办法将 p5js 中的复选框外观设置为切换开关?

单击时使用 ajax 调用重新加载数据表数据