我想不通这个。根据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
将根据属性是否存在返回 true
或 false
关于javascript - JS .checked vs jquery attr ('checked' ),有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15081335/