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

标签 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>

使用$('#ccc').closest('li') jQuery 将选择 <li id="eee">...</li> - <button id="ccc">的最近祖先。是否可以选择<li>aaa</li>作为“真正”最接近<li>元素到<button id="ccc"> (因此,它不必是祖先,但只要是其中一个祖先的 sibling 就足够了)?

更新:

有效的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>

如何获取<div>aaa</div>不使用parent()功能,但使用某种东西。喜欢 trueClosest('div')考虑 sibling 、祖先和祖先的 sibling 吗?

我只是想知道,jQuery有没有这样的功能?

最佳答案

可以使用以下内容:

$('#startingElement').closest(':has(#desiredElement)').children('#desiredElement')

因此:找到距离 #startingElement 最接近且具有 #desiredElement 的元素,然后通过 children(function) 获取它(它们);

关于jquery - 如何使用 jQuery 选择最接近的元素(不能是其父元素)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16869001/

相关文章:

jquery ajax获取node express,如何获取json数据?

objective-c - 访问 super View 属性

python - 有没有办法在 Python 中访问父模块

jquery - 从 jQuery 中的 Each 函数查找最接近的元素

python - 找到与给定数字最接近的 k 个数字

html - 如何获取另一个div中输入字段的值?

jquery - 如何从 Django 模板调用 Dajax/Dajaxice 函数

javascript - 仅从特定时刻开始数据滚动速度

jquery - 打字时显示文本

java - 要求java中有关jlabel和parent的一些澄清