在javaScript中获取Div的最外层父ID

时间:2013-12-20 09:16:51

标签: javascript jquery html

嗨,在我的情况下,我使用了以下结构中的div。

<div id="Parent1">
    <div>
        <div>
            <div id="mychildDiv"></div>
        </div>
    </div>
</div>

我的工作场景:

我知道子div的id,从中知道如何获取父id。对于此示例,想要获取标识Parent1。是否有可能获得最外层的父ID?

5 个答案:

答案 0 :(得分:5)

您可以使用.parents()获取源元素的所有父级。然后,您可以使用.last()获取目标父级的ID。请详细了解parents()last()

尝试,

$('#mychildDiv').parents('div').last().attr('id')

DEMO

答案 1 :(得分:4)

您可以使用简单的css选择器执行此操作,它会为您提供具有id属性的第一个父级:

$('#mychildDiv').parents('[id]:eq(0)');

最外面的父母将是:

$('#mychildDiv').parents('[id]:last');

答案 2 :(得分:1)

您可以使用parents()last()功能:

var parentId = $('#mychildDiv').parents('div').last().prop('id');

请注意正确使用prop(),而不是attr() ...

您还需要将选择器传递给parents()函数,否则jQuery将返回<body>元素:

jsFiddle Demo

答案 3 :(得分:0)

嗯,从技术上讲,如果你正在寻找“最外层的父母”,它将总是body,并且它没有意义查找具有id属性的最近父级。

为什么不添加一些更好自我解释标记。

<div data-outer-parent="true">
    <div>
        <div>
            <div id="myChildDiv"></div>
        </div>
    </div>
</div>

然后你可以做

$('#myChildDiv').parents('[data-outer-parent="true"]:first')

答案 4 :(得分:0)

问题很简单,可以通过 css3 选择器

来处理

这是一行代码:

alert($('#mychildDiv').parents('[id]:last').attr('id'));

:)