我有一个很大的div,里面有很多小div。说,
<div id="parent">
<div id="child1">
</div>
<div id="child1">
</div>
<div id="child2">
</div>
<div id="child1">
</div>
<div id="child1">
</div>
</div>
如果我目前处于最后一个'child1',那么我如何使用prev()获得最顶级的child1?对我来说,当它到达'child2'时就会中断。
答案 0 :(得分:7)
首先,您的HTML标记无效。文档中不应该有一个具有相同ID的元素。
阅读Element identifiers: the id and class attributes
id:
此属性为其指定名称 元件。此名称在a中必须是唯一的 文档。
上课:
此属性指定一个类名或 一组元素的类名。任何 可以分配元素的数量 相同的班级名称。多 类名必须用白色分隔 空间人物。
您可以使用parent和:firstchild获取当前父元素中的第一个元素。
如果你当前在元素'parent'
的任何孩子身上,你可以使用这样的东西$(this).parent().find("div:first-child");
答案 1 :(得分:4)
我想你想要这个:
$(this).prevAll('.child1').eq(0);
答案 2 :(得分:1)
$(this).closest('.parent').find('.child1:first')
我改为了类,因为你真的应该只有一个页面中任何给定ID的元素