获取javaScript中Div最外层的父id
嗨,在我的例子中,我在下面的结构中使用了div获取javaScript中Div最外层的父id,javascript,jquery,html,Javascript,Jquery,Html,嗨,在我的例子中,我在下面的结构中使用了div <div id="Parent1"> <div> <div> <div id="mychildDiv"></div> </div> </div> </div> 我的工作场景: 我知道子div的id,从中可以知道如何获取父id。对于本示例中的Expample,希望获取idPare
<div id="Parent1">
<div>
<div>
<div id="mychildDiv"></div>
</div>
</div>
</div>
我的工作场景:
我知道子div的id,从中可以知道如何获取父id。对于本示例中的Expample,希望获取idParent1
。是否可以获取最外层的父id?您可以使用.parents()
获取源元素的所有父id。然后可以使用.last()
获取目标父级的id。请阅读更多关于和
试试看
您可以使用和功能:
var parentId = $('#mychildDiv').parents('div').last().prop('id');
请注意正确使用,而不是
您还需要将选择器传递给parents()
函数,否则jQuery将返回
元素:
您可以通过一个简单的css选择器来实现这一点,它将为您提供第一个具有id属性的父对象:
$('#mychildDiv').parents('[id]:eq(0)');
最外层的父级为:
$('#mychildDiv').parents('[id]:last');
好的,从技术上讲,如果您正在寻找最外部的父项,它将始终是
主体
,而寻找具有id
属性的最近的父项是没有意义的
为什么不像这样添加一些更好的标记和自解释的标记呢
<div data-outer-parent="true">
<div>
<div>
<div id="myChildDiv"></div>
</div>
</div>
</div>
问题很简单,可以通过css3选择器处理 以下是一行代码:
alert($('#mychildDiv').parents('[id]:last').attr('id'));
:)阅读编辑后的答案。。。并查看正在运行的JSFIDLE演示。您忘记了
parents()
函数中的选择器。要了解.prop()和.attr()之间的差异,请检查此项
$('#myChildDiv').parents('[data-outer-parent="true"]:first')
alert($('#mychildDiv').parents('[id]:last').attr('id'));