簡體   English   中英

在javaScript中獲取Div的最外層父ID

[英]Get the outer most parent id of the Div in javaScript

嗨,在我的情況下,我使用以下結構中的div。

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

我的工作場景:

我知道子div的id,從那個如何得到父id。 對於此示例,想要獲取id Parent1 有可能獲得最外層的父ID嗎?

您可以使用.parents()來獲取source元素的所有父元素。 然后,您可以使用.last()獲取目標父級的id。 請閱讀更多關於父母()最后()的信息

嘗試,

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

DEMO

您可以使用簡單的css選擇器執行此操作,它將為您提供具有id屬性的第一個父級:

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

最外面的父母將是:

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

您可以使用parents()last()函數:

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

請注意正確使用prop() ,而不是attr() ......

您還需要將選擇器傳遞給parents()函數,否則jQuery將返回<body>元素:

jsFiddle演示

好吧,從技術上講,如果你正在尋找“最外層的父” ,它將永遠body ,並且找到具有id屬性的最近父級是沒有意義的。

為什么不添加一些更好自我解釋的標記,如此。

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

那你可以做

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

問題很簡單,可以通過css3選擇器來處理

這是一行中的代碼:

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

:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM