如何使用 jquery 查找元素的第 n 个父元素

发布于 2024-12-16 10:47:00 字数 519 浏览 2 评论 0原文

我想找到给定元素的第 n 个父元素并访问父元素的属性。

<div id='parent1'><br/>
  <div id='parent2'><br/>
       <span><p id='element1'>Test</p></span><br/>
  </div><br/>
  <div id='parent3'><br/>
       <span><p id='element2'>Test</p></span><br/>
  </div><br/>
</div>

我想访问 element1 的第三个父元素而不使用

$('#element1').parent().parent().parent()

任何帮助将不胜感激

I want to find the nth parent element of an given element and access the attributes of parent.

<div id='parent1'><br/>
  <div id='parent2'><br/>
       <span><p id='element1'>Test</p></span><br/>
  </div><br/>
  <div id='parent3'><br/>
       <span><p id='element2'>Test</p></span><br/>
  </div><br/>
</div>

I want to access the 3rd parent element of element1 without using

$('#element1').parent().parent().parent()

Any help would be appreciated

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

酒解孤独 2024-12-23 10:47:00

您可以使用 .parents().eq()

$('#element1').parents().eq(2);

http:// jsfiddle.net/infernalbadger/4YmYt/

You can use .parents() and .eq():

$('#element1').parents().eq(2);

http://jsfiddle.net/infernalbadger/4YmYt/

陌上青苔 2024-12-23 10:47:00

使用:

$('#element1').closest('#parent1');

use:

$('#element1').closest('#parent1');
蘸点软妹酱 2024-12-23 10:47:00

parents() 返回一个列表,所以这是有效的:

$('#element1').parents()[2];

parents() returns a list, so this works:

$('#element1').parents()[2];
我偏爱纯白色 2024-12-23 10:47:00

你可以制作一个小插件来处理这个问题:

$.fn.nthParent = function(n){
    var p = this;
    for(var i=0;i<n;i++)
        p = p.parent();
    return p;
}

然后将其用作:

$('#element1').nthParent(3);

You could make a little plugin to take care of that:

$.fn.nthParent = function(n){
    var p = this;
    for(var i=0;i<n;i++)
        p = p.parent();
    return p;
}

and then use it as:

$('#element1').nthParent(3);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文