jquery - 类似于 jQuery .closest() 但遍历后代?

标签 jquery

是否有类似于 jQuery .closest() 但用于遍历后代并仅返回最接近的后代的函数?

我知道有 .find() 函数,但它会返回所有可能的匹配项,而不是最接近的匹配项。

编辑:

这是最接近的定义(至少对我而言):

首先遍历所有children,然后遍历每个单独的children。

在下面给出的示例中,id='2'id="find-my-closest-descendant" 的最接近 .closest 后代

<div id="find-my-closest-descendant">
    <div>
        <div class="closest" Id='1'></div>
    </div>
    <div class="closest" Id='2'></div>
</div>

请参阅JSfiddle link .

最佳答案

如果“最近的”后代是指第一个 child ,那么您可以:

$('#foo').find(':first');

或者:

$('#foo').children().first();

或者,要查找特定元素的第一次出现,您可以这样做:

$('#foo').find('.whatever').first();

或者:

$('#foo').find('.whatever:first');

但实际上,我们需要对“最近的后代”的含义有一个明确的定义。

例如

<div id="foo">
    <p>
        <span></span>
    </p>
    <span></span>
</div>

哪个<span>$('#foo').closestDescendent('span')返回?

关于jquery - 类似于 jQuery .closest() 但遍历后代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8961770/

相关文章:

javascript - 使用 jQuery 的 .load() 函数保持导入的文本文件的格式?

javascript - 无法让 HTML5 Canvas 与 Twitter Bootstrap 一起使用

javascript - 如何从对象内部的数组中删除特定元素?

Jquery:为什么延迟不起作用?

php - Javascript:当某些内容有效时在表单中显示元素

javascript - jQuery .live ('click' , function() {});不适用于 iPad

javascript - 用javascript更改另一个html文件?

javascript - 悬停切换时的 jQuery Animate 高度

javascript - 如何使用 Javascript/JQuery 将 date_select 值构造为单一日期格式?

javascript - 在 jQuery 中创建一个包含多个 DOM 元素和动画的动画队列并按顺序触发它们?