Javascript 如何在jQuery中读取单击第一个锚点事件的数据属性值
我试图使用jQuery访问数据属性,但无法读取值 这是我的HTML:Javascript 如何在jQuery中读取单击第一个锚点事件的数据属性值,javascript,jquery,html,Javascript,Jquery,Html,我试图使用jQuery访问数据属性,但无法读取值 这是我的HTML: $(函数(){ $(document.body).on('click',').remainingTimeDv.font sm.cursorDefault',函数(事件){ var messageId=$(this.parents().closest('.leveCommentDV').find('a:first').attr('data-ajax-coments-res'); 警报(messageId); }); });
$(函数(){
$(document.body).on('click',').remainingTimeDv.font sm.cursorDefault',函数(事件){
var messageId=$(this.parents().closest('.leveCommentDV').find('a:first').attr('data-ajax-coments-res');
警报(messageId);
});
});代码>
必须遵守劳动合同的规定
22分钟前
(对多名工作人员)
-
-
最近的在这里不起作用。改为使用find
。还可以使用data
提取数据,而不是attr
$(document.body).on('click','remainingTimeDv.font sm.cursorDefault',函数(事件){
var messageId=$(this.parents().find('.leveCommentDV').find('a:first').data('ajax-coments-res');
警报(messageId);
});代码>
必须遵守劳动合同的规定
22分钟前
(对多名工作人员)
-
-
我建议您使用最近的()
和兄弟姐妹()
(我不喜欢.parents()
方法。)
您的代码.closest('.leaveCommentDv')
不起作用,因为.leaveCommentDv
不是祖先。我将其修改为正确的祖先.remainingTimeDv
,并添加了.sides('.leaveCommentDv')
,以便您的find()
可以访问正确的元素
以下是一个工作片段:
$(document.body).on('click','remainingTimeDv.font sm.cursorDefault',函数(事件){
var messageId=$(this).closest('.remainingTimeDv')。同胞('.levecommentdv')。find('a:first')。attr('data-ajax-coments-res');
警报(messageId);
});代码>
.remainingTimeDv.font sm.cursorDefault{
边框:1px纯蓝色;
}
必须遵守劳动合同的规定
22分钟前
(对多名工作人员)
-
-
这将起作用:
$(函数(){
$(document.body).on('click',').remainingTimeDv.font sm.cursorDefault',函数(事件){
var messageId=$(this.parents().find('.leaveCommentDv:first a:first').data('ajax-coments-res');
警报(messageId);
});
});代码>
必须遵守劳动合同的规定
22分钟前
(对多名工作人员)
-
-
使用.data('ajax-coments-res')
。但是,您的代码到底有什么问题?我得到的未定义的
是无法获取值的。虽然这可能与您的问题无关,但我要指出$(this).parents().closest('.leaveCommentDv')
是多余的,因为它选择this
节点的所有祖先,然后使用“leaveCommentDv”类查找最近的祖先。这可能有效,但是调用parents()
显然是不必要的(除非This
节点也可能有leaveCommentDv
类名)。