我当然提出了一个愚蠢的问题,但我找不到解决方案。
我尝试访问复选框的attr,当我点击复选框时,我想做一个json请求来更新值。 当我点击复选框时出现错误:
Uncaught TypeError: Cannot read property 'nodeType' of undefined
这是我的代码的一部分
for (var i = 0; i < json.length; i++) {
var checked = + json[i].know == true?"checked": "";
$("#container").append("<input type='checkbox' class='know-check' name='know' know-seq='"+i+"' value='Know' "+checked+">");
}
$('.know-check').click(function() {
console.log($(this).attr());
});
我尝试了多种内容,例如
console.log($(this)[0]);
我获得了
<input type="checkbox" class="know-check" name="know" know-seq="1" value="Know">
但是console.log($(this)[0].attr());
给了我同样的错误
我确信有一个简单的解决方案,但我没有任何想法,所以如果有人可以帮助我:)。
由于 ps:对不起,我不是英文
答案 0 :(得分:3)
jquery&#39; s attr并非设计为不带参数调用,因此传递参数名称 - know-seq
$('.know-check').click(function() {
console.log($(this).attr("know-seq"));
});
答案 1 :(得分:2)
将属性名称作为参数传递给attr函数。
$('.know-check').click(function() {
console.log($(this).attr("know-seq"));
});