【发布时间】:2016-08-31 16:46:45
【问题描述】:
我无法弄清楚为什么我在尝试从下面的代码中尝试 console.outiUsedId 变量时得到未定义。
这里我将用户ID附加到data-iUserId。
var aUsers = [];
for( var i = 0; i < aUsers.length; i++ ){
$("#lblUsers").append('<tr><th scope="row">'+aUsers[i].id+'</th><td>'+aUsers[i].username+'</td><td>'+aUsers[i].firstName+'</td><td>'+aUsers[i].lastName+'</td><td>'+aUsers[i].email+'</td><td>'+"<span data-iUserId='"+aUsers[i].id+"'</span><input type='checkbox' id='chk_"+i+"'"+'</td></tr>');
}
在这里我尝试使用 data 属性中的数据,但在控制台中我得到的只是undefined。
$(document).ready(function() {
$("#remove").on("click", function() {
$('input:checked').each(function() {
$(this).closest('tr').remove();
var iUserId = $(this).attr('data-iUserId');
console.log(iUserId);
for (var i = 0; i < aUsers.length; i++) {
if (iUserId == aUsers[i].iUsersId) {
aUsers.splice(i, 1);
}
}
});
});
});
有什么猜测吗?请帮忙!
【问题讨论】:
-
行中 $(this).attr('data-iUserId') $(this) 指的是 $('input:checked') 而不是您添加 data-iUserId 属性的跨度.
-
这里有多个问题...
-
嗯,是的。我对这一切都很陌生。还有比下面提到的更多吗?
标签: javascript jquery html