Jquery:在父div内的索引处选择子div
如果我有:Jquery:在父div内的索引处选择子div,jquery,Jquery,如果我有: <div id='parent'> <table> <tr> <td> <div id='child1'></div> </td> </tr> <tr> <td>
<div id='parent'>
<table>
<tr>
<td>
<div id='child1'></div>
</td>
</tr>
<tr>
<td>
<div id='child2'></div>
</td>
</tr>
</table>
</div>
但我更愿意与家长部门合作:
这可能吗?您可以使用以下方法进行操作:
或者,如果它是动态的,您需要传入,请使用以下命令:
在这两个函数中,我们都使用1
,因为它是一个基于0的索引,所以1
是第二个子函数。您将需要该函数
例如:
$('#parent').children()[1]
使用选择器
例如
因评论而更新
$('#parent > div:nth-child(2)');
有两种简单的方法可以做到这一点:
var div2 = $("#parent > div:eq(1)")
使用“eq”选择器时,请注意它是基于零的,因此实际上,这将选择#父div中的第二个div
第二种方法是:
var div2 = $("#parent > div:nth-child(2)")
“第n个子”选择器不是基于零的,因此“第n个子(2)”也将选择第2个div。您还可以通过“第n个子(偶数)”和“第n个子(奇数)”选择奇数和偶数div。它甚至会计算括号中的方程式-您可以在jQuery文档中阅读更多关于它的内容。请记住,如果孩子有孩子,这可能也会选择他们(如果他们有超过1个
作为兄弟姐妹)。我的结构有问题,现在有什么想法可以处理吗?提前感谢。返回值是OP的dom元素还是jquery对象?@Rabid-它是jquery对象,例如,您可以在末尾调用.addClass(“active”)
。虽然“OP的dom元素”…我不知道你说的是什么意思,但我没有继续这一部分?OP从未提到过以这种或那种方式想要它(注意,在他的示例中是一个jQuery对象),通常您会想要jQuery包装器版本。啊,是的,参考他的示例就是这样,很好。嗨,Nick Carver,谢谢你的回答。它应该像我上面所说的那样工作,但当我再次检查它时,我的结构不同,它是:我尝试了:$(“#parent>table>tr:eq(1)>div”);但它是未定义的?提前谢谢。@JoesyXHN-A
被插入其中,因此表tr
无法工作,请尝试使用空格:)我的结构有问题,现在有什么办法处理吗?提前谢谢。我的结构有问题,现在有什么办法吗?提前谢谢。
$("#parent > div").eq(1)
$('#parent div:nth-child(2)');
$('#parent > div:nth-child(2)');
var div2 = $("#parent > div:eq(1)")
var div2 = $("#parent > div:nth-child(2)")