【发布时间】:2013-05-27 23:11:53
【问题描述】:
假设一个 html 文档:
<html>
<head>
</head>
<body>
<li id="eee">
<li>aaa</li>
<span>bbb</span>
...
<div>
<button id="ccc">ddd</button>
</div>
...
</li>
</body>
</html>
使用$('#ccc').closest('li') jQuery 将选择<li id="eee">...</li> - <button id="ccc"> 的最近祖先。是否可以将<li>aaa</li> 选择为与<button id="ccc"> 最接近的<li> 元素(因此,它不必是祖先,但足以成为一个祖先的兄弟姐妹) ?
更新:
有效的 html(特别是 @PSL 家伙,已经删除了他的 cmets):
<html>
<head>
</head>
<body>
<div id="eee">
<div>aaa</div>
<span>bbb</span>
<ul>
<li>fff</li>
<li>
<button id="ccc">ddd</button>
</li>
</ul>
</li>
</body>
</html>
如何在不使用parent() 函数的情况下获取<div>aaa</div>,但使用smth。像trueClosest('div') 考虑兄弟姐妹,祖先和祖先的兄弟姐妹?
我只想知道,jQuery有没有这样的功能?
【问题讨论】:
-
ok,无效,但是chrome仍然可以在上面执行,所以可以理解我的意思。问题是概念性的:是否可以选择不是直接最近的祖先(父亲,(祖)父亲)而是任何祖先(叔叔,(祖)父亲的兄弟)的兄弟姐妹,匹配表达式(例如
closest(expression)) -
特别为@PSL 一个有效的 html 更新问题,如果不清楚原始形式,我想选择什么和如何选择以及我不想要什么和如何。
标签: jquery parent closest dom-traversal jquery-traversing