我确实提出了一个愚蠢的问题,但我找不到解决方案。
我尝试访问复选框的属性,当我单击复选框时,我想做一个 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:抱歉我的错误,我不是英语
最佳答案
jquery 的 attr不是设计为不带参数调用的,因此传递参数名称 - know-seq
$('.know-check').click(function() {
console.log($(this).attr("know-seq"));
});
关于javascript - Jquery无法访问attr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49608055/