如何使用jQuery选择最接近的元素(不能是这个的父元素)?

sta*_*tic 3 jquery parent closest dom-traversal jquery-traversing

假设一个html文档:

<html>
  <head>
  </head>
  <body>
    <li id="eee">
      <li>aaa</li>
      <span>bbb</span>
        ...
          <div>
            <button id="ccc">ddd</button>
          </div>
        ...
    </li>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

使用$('#ccc').closest('li')jQuery将选择<li id="eee">...</li>- 最近的祖先<button id="ccc">.是否有可能选择<li>aaa</li>"真正"最接近的<li>元素<button id="ccc">(因此,它不一定是祖先,但足以成为其中一个祖先兄弟)?

更新:

有效的HTML(特别为@PSL家伙,已经删除了他的评论):

<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>
Run Code Online (Sandbox Code Playgroud)

如何获得<div>aaa</div>不使用该parent()函数,但使用smth.喜欢trueClosest('div')考虑祖先的兄弟姐妹,祖先和兄弟姐妹?

我只是想知道,如果jQuery有这样的功能吗?

sta*_*tic 6

可以使用以下内容:

$('#startingElement').closest(':has(#desiredElement)').children('#desiredElement')
Run Code Online (Sandbox Code Playgroud)

所以:找到最近的元素到#startingElement其中有一个#desiredElement,然后通过得到它(它们)children(function);