Javascript 如何获取第三个父级的ID属性值

Javascript 如何获取第三个父级的ID属性值,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我试图在单击链接时捕获第三个父对象的ID属性的值。 例如: 可点击元素 单击“Clickable Element”时,我需要将值“First Div”存储在变量中。可以使用以下方法执行此操作: $(this).parent().parent().parent().attr("id"); 但这不是一个好的解决方案,因为您需要确保这些父项确实存在。首先,id不应该包含空格,而是添加下划线 您可以将单击事件附加到类链接,然后单击转到具有属性id的父级,并将其保存在变量中: $('.link').

我试图在单击链接时捕获第三个父对象的ID属性的值。 例如:


可点击元素
单击“Clickable Element”时,我需要将值“First Div”存储在变量中。

可以使用以下方法执行此操作:

$(this).parent().parent().parent().attr("id");

但这不是一个好的解决方案,因为您需要确保这些父项确实存在。

首先,
id
不应该包含空格,而是添加下划线

您可以将单击事件附加到类
链接
,然后单击转到具有属性
id
的父级,并将其保存在变量中:

$('.link').on('click', function(){
    var id_attribute=$(this).closest('div[id]').prop('id');
})
这有帮助


$('.link')。在('click',function()上{
var id_attribute=$(this).closest('div[id')).prop('id');
警报(id_属性);
})

可点击元素
您可以使用jquery的parents()方法,该方法将遍历DOM,直到找到匹配项为止

$(this).parents().find('div#First_div').attr('id');

只是想提醒您,它有两个id,您可能需要在它们之间加一个下划线,如First\u div。您说得对,谢谢。div的id是
First div
$(this).parents().find('div#First_div').attr('id');