【发布时间】:2015-04-25 08:59:09
【问题描述】:
我正在开发一个生成 html 页面的 node.js 应用程序。此 html 页面显示根据传递到此页面的数据构建的关联列表。列表的构建如下:
<ul class="notification-body" style="">
//loop for all assocaite id's passed to this page
<li class="testClass" data-associateid="<%= assocID %>">
<span>
<span class="subject">
<label class="btnClass label label-info">ClickMe!</label>
</span>
</span>
</li>
生成的 html src 如下所示:
<ul class="notification-body" style="">
<li class="testClass" data-associateid="AA01">
<li class="testClass" data-associateid="AA02">
<li class="testClass" data-associateid="AA03">
我正在尝试使用 Jquery 获取数据属性的值,我尝试了以下方法:
$(".btnClass").click(function(){
console.log($".testClass").attr("data-associateid"));
});
但是每次我点击 btn 时都会输出 'AA01' 并且我没有在控制台中得到预期的输出: AA01 AA02 AA03
我也尝试了以下方法,但它给了我未定义:
$(".btnClass").click(function(){
console.log($(this).find(".testClass").attr("data-associateid"));
});
【问题讨论】:
-
你的html代码中类
.btnClass的元素在哪里? -
我认为你需要调查一下:api.jquery.com/each
-
对不起,我已经更新了原帖中的代码
-
来自 jquery:.attr() 方法仅获取匹配集中第一个元素的属性值。要单独获取每个元素的值,请使用循环构造,例如 jQuery 的 .each() 或 .map() 方法。
-
更新了我的答案以符合您的要求
标签: javascript jquery node.js html dom