gpt4 book ai didi

jQuery 单击复选框不会在 Firefox 中检查

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

具体来说,输入类型复选框的内存 dom 不会在 FireFox 中接收“checked”属性(或任何其他选中指示符)。

注释行可以取消注释以查看测试通过,但目前您将在 Firefox 中看到测试失败。

http://jsfiddle.net/mE3xb/2/

var cb = $('<input type="checkbox" />')
//var cb = $('input');
if (cb.is(':checked')) alert("checkbox says it's already checked");
cb.click();
if (cb.is(':checked')) alert("checkbox clicked correctly!");
else alert("fail!");

我是否在做不标准的事情?有什么建议吗?我基本上依赖 jQuery .click 来实际检查 UI 中的复选框(并且我不想使用 .attr、.prop、.val,因为它会破坏我正在进行的良好封装。)

最佳答案

由于您使用的是 jQuery 1.4.3,看起来您最好的选择是:

cb[0].setAttribute('checked', 'checked'); // plain old vanilla JS

<强> jsFiddle Demo - 在 FireFox、Chrome 和 IE8 中测试

.click() 在 Firefox 中的许多奇怪情况下不起作用(这在该浏览器中本质上是错误/不同的)。我想是因为它实际上在 DOM 上还不可用,所以它不知道这个事件在哪里。这是 .prop() 等事物存在的众多原因之一。

关于jQuery 单击复选框不会在 Firefox 中检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14463971/

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