为什么.attr()方法在jQuery 1.9中不起作用
why is .attr() method not working in jQuery 1.9
我在1.8.3中使用过这个属性,但现在似乎不起作用
if ($("#checkbox").attr("checked"))
{
alert("Checked");
}
else
{
alert("Not checked");
}
检查这个小提琴,上面的代码适用于1.8.3
检查这个fiddle,其中相同的代码不适用于1.9
您不应该使用.attr
来查看是否选中了复选框——1.9引入了一个突破性的更改。请改用.prop
。
尝试:
if ($("#checkbox").is(":checked")){
alert("Checked");
}
else{
alert("Not checked");
}
此处更新了fiddle
checked
不是复选框的属性。这是一处房产。在jquery 1.6
之前,attr用于更改复选框的checked属性,该属性是错误的,因此在新版本中被删除。因此添加了prop
作为新特性,改变了控件的特性。
从jQuery 1.6开始,.prop()
方法提供了显式检索属性值的方法,而.attr()
检索属性。
更新的Fiddle
使用.prop
而不是.attr
此外,您在fiddle中使用.live
,这在您使用的jquery版本中不受支持,您需要使用.on()
而不是.live
演示---->
http://jsfiddle.net/7VQbN/4/
您可以这样做:
if ($("#checkbox").prop("checked")){
alert("Checked");
}
else{
alert("Not checked");
}
如.prop()
API文件所述:-
在jQuery 1.6之前,
.attr()
方法有时会获取属性值在检索某些属性时考虑,这可能导致不一致的行为从jQuery 1.6开始,.prop()
方法提供了显式检索属性值的方法,而.attr()
检索属性。
相关文章:
- ng-view 中的脚本在从文件引用时不起作用(JQuery 在角度之前加载)
- 转换效果不起作用jquery
- 淡入淡出和AppendTo不起作用-jQuery
- 变量计算不起作用(jquery/javascript)
- 更改事件不起作用 jQuery 自动完成
- 倒计时不起作用 jquery
- ajax 响应包括 image,onClick 事件对图像不起作用 jQuery
- 从JavaScript添加html,但不起作用jQuery切换功能
- 简单的工具提示插件 - 点击选项不起作用 - jQuery
- 图像滑块不起作用(jquery)- Rails 3项目
- 触发单击事件不起作用 jquery
- 动态创建的 li 点击事件不起作用 jQuery
- Jquery验证不起作用.Jquery-Javascript
- JavaScript生成的元素不起作用-jQuery
- 事件委派不起作用jquery
- 类选择器在追加后不起作用 (JQuery)
- 为什么这个变量不起作用?Jquery
- 首先,渐变有时似乎不起作用(jquery)
- 有什么原因吗('img')加载不起作用(jQuery)
- 更改不起作用jQuery