能否不通过id和class,使用DOMHTML获取div的data-target-id属性值?
可以通过DOM实现获取目标属性值
当然可以实现,你可以利用元素的其他属性定位目标div,再获取data-target-id的值,具体方法如下:
方法1:定位单个目标元素
利用该div的data-id="legacy"属性作为定位条件,结合querySelector找到元素后,通过两种方式获取属性值:
// 定位目标div const targetDiv = document.querySelector('div[data-id="legacy"]'); // 方式A:使用getAttribute方法 const targetValue = targetDiv.getAttribute('data-target-id'); // 方式B:使用dataset API(自动转换为驼峰命名,写法更简洁) const targetValueViaDataset = targetDiv.dataset.targetId;
方法2:批量处理多个符合条件的元素
如果页面中有多个带data-id="legacy"的div,用querySelectorAll批量获取后遍历处理:
const divList = document.querySelectorAll('div[data-id="legacy"]'); divList.forEach(div => { console.log('当前div的data-target-id值:', div.dataset.targetId); });
核心逻辑很简单:哪怕没有id和class,只要元素有其他可标识的属性(比如这里的data-id),就能通过属性选择器定位到元素,进而读取目标属性的值。
内容的提问来源于stack exchange,提问作者Arcturus
相关产品推荐
相关产品推荐

