如何通过jQuery结合ID获取指定元素的data-entry-id属性值
解决通过元素ID获取data-entry-id属性值的问题
问题分析
你之前的写法有两个核心错误:
attr('[data-entry-id]')多套了方括号——方括号是CSS选择器里筛选属性的语法,但attr()方法的参数直接写属性名data-entry-id即可,不需要额外加方括号。- 没必要用
$.map——ID选择器$('#some_link_1')返回的是单个元素,map是用来遍历元素集合的,单独处理单个元素完全用不上这个方法。
正确写法
直接用以下两种方式之一就能拿到目标值:
方式1:用attr()获取原始属性值
const entryId = $('#some_link_1').attr('data-entry-id'); console.log("mine is: ", entryId);
方式2:用data()获取(jQuery自动处理驼峰转换)
HTML里的data-entry-id对应jQuerydata()方法里的驼峰式entryId,所以也可以这么写:
const entryId = $('#some_link_1').data('entryId'); console.log("mine is: ", entryId);
关于你提到的报错
你说写attr('data-entry-id')会报错,这个写法本身是正确的,大概率是其他问题导致的——比如页面还没加载完成就执行了代码(需要把代码放在$(document).ready()里),或者jQuery没有正确引入。
内容的提问来源于stack exchange,提问作者bart_axe86Z
相关产品推荐
相关产品推荐

