javascript - JS .checked vs jquery attr ('checked' ),有什么区别?

标签 javascript jquery attr checked

我想不通这个。根据W3 Schools , checked 属性设置或返回复选框的选中状态。

那么为什么 $('input').checked 呢? $('div').slideDown() : $('div').slideUp(); 不起作用?

然而,使用 prop 确实有效。

$('input').prop('checked') ? $('div').slideDown() : $('div').slideUp();

这用于根据数据库值选中的复选框。

最佳答案

checked 是 DOM 元素属性,因此在 DOM 元素上使用它而不是 jQuery 对象。

$('input')[0].checked

如果您有一个 jQuery 对象,请使用 prop 而不是 attr 因为您正在检查一个属性。仅供引用:

$("<input type='checkbox' checked='checked'>").attr("checked") // "checked"
$("<input type='checkbox' checked='foo'>").attr("checked") // "checked"
$("<input type='checkbox' checked>").attr("checked") // "checked"
$("<input type='checkbox'>").attr("checked") // undefined

[0].getAttribute("checked") 将返回实际值。

prop 将根据属性是否存在返回 truefalse

关于javascript - JS .checked vs jquery attr ('checked' ),有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15081335/

相关文章:

javascript - 多次更改按钮上的文本并使用 JQuery 移动 div

javascript - 是否可以清理 Javascript 代码?

jquery - 为什么 jQuery 不提供 .firstChild 方法?

php - jQuery - 与 undefined variable 作斗争

c# - 如何检测 ActiveX 支持?

javascript - jQuery 方法 : difference between . submit() 与 .trigger ('submit' )

javascript - play() 失败,因为用户没有与文档第一个问题进行交互

jquery - 当选择特定项目时,如何以编程方式取消选择选择器(或复选框)中的一项?

javascript - 当 jQuery .attr ('onclick' ) 函数返回事件对象时?

r - 使用 dplyr 语法和 attr 函数转换时区