gpt4 book ai didi

jquery - jQuery v1.9.1 的 .attr() 复选框问题

转载 作者:行者123 更新时间:2023-12-01 02:44:15 25 4
gpt4 key购买 nike

HTML:

<input type="checkbox" />
<span id="test">Click here</span>

JS:

$("#test").click(function () {
if ($(":checkbox").attr("checked") == undefined) {
$(":checkbox").attr("checked", "checked")
} else {
$(":checkbox").removeAttr("checked")
}
});

fiddle :Link - v1.8.3

这工作得很好,但是,如果我将 jquery 版本更改为 1.9.1,则不再选中该复选框。这是什么问题?

fiddle :Link - v.1.9.1

虽然 inspect 元素 显示复选框正在切换属性,但如果我在控制台,我得到 false 作为输出

最佳答案

checked 是一个属性,当 bool 属性如 disabledchecked 时,您应该使用 prop 方法设置为一个元素,该值被映射到该元素的相关 DOM 属性(浏览器执行此操作),并且 attrremoveAttr 方法执行此操作不更改元素的属性,从 jQuery 1.6 开始,要修改属性,应使用 prop 方法而不是 attr

$("#test").click(function () {
$('input[type=checkbox]').prop('checked', function(i, state){
return !state;
});
});

http://jsfiddle.net/3rQvj/

关于jquery - jQuery v1.9.1 的 .attr() 复选框问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15860756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com