Javascript 如何遍历DOM以获取特定元素

Javascript 如何遍历DOM以获取特定元素,javascript,jquery,Javascript,Jquery,当我点击一个不在标签容器内的按钮时,我的大脑被冻结了,试图记住访问锚定标签上的数据属性的最佳方法是什么,有人能帮助我怎么做吗,所以如果我点击.js watchlist add,我想获得.js film entry的数据id: JS 加入观察名单 从观察列表中删除 您可以使用)来获取父元素和父元素中的子元素 $(this).closest('.ctn').find('.js-film-entry').data('id'); 阿迪尔的回答很好 虽然使用子代可能比使用find更有效,但可以避免遍

当我点击一个不在标签容器内的按钮时,我的大脑被冻结了,试图记住访问锚定标签上的数据属性的最佳方法是什么,有人能帮助我怎么做吗,所以如果我点击
.js watchlist add
,我想获得
.js film entry
的数据id:

JS


加入观察名单
从观察列表中删除
您可以使用)来获取父元素和父元素中的子元素

$(this).closest('.ctn').find('.js-film-entry').data('id');

阿迪尔的回答很好

虽然使用子代可能比使用find更有效,但可以避免遍历子代

$(this).closest('.ctn').children('.js-film-entry').data('id');
仅给出另一个DOM遍历示例,您还可以使用:

 $(this).parent().siblings('.js-film-entry').data('id');
您可以使用jQuery的和方法


$('.ctn').has(this).find('.js film entry')

这可能比Adil的建议慢一些。在js film entry之前缺少一个点
 $(this).parent().siblings('.js-film-entry').data('id');