jquery attr 设置属性 checked disabled 不起作用 改用prop

$(‘#checkbox‘).attr(‘checked‘); 返回的是checked或者是undefined解决办法

$(‘#checkbox‘).attr(‘checked‘); 返回的是checked或者是undefined,不是原来的true和false了,有关此问题的解决方法如下

在JQ1.6之前的版本,我们会这样写我们的代码:

<input type=‘checkbox‘ id=‘cb‘/>
<script>
//获取是否选中
var isChecked = $(‘#cb‘).attr(‘checked‘);   

//设置选中
$(‘#cb‘).attr(‘checked‘,true);
</script>   

这样写在JQ1.6之前完全没问题,可是当我们升级JQ1.6到更高的版本时,问题就来了,此时我们会发现: 
$(‘#cb‘).attr(‘checked‘); 返回的是checked或者是undefined,不是原来的true和false了。 并且checked属性在页面初始化的时候已经初始化好了,不会随着状态的改变而改变。所以如果checkbox一开始是选中的,那么返回的是checked,如果一开始没被选中,则返回的是undefined

<input type=‘checkbox‘ id=‘cb‘/>
<script>
//获取是否选中
var isChecked = $(‘#cb‘).prop(‘checked‘);
//或
var isChecked = $(‘#cb‘).is(":checked");
//设置选中
$(‘#cb‘).prop(‘checked‘,true);
</script>   

分析了其中的原因,可以这样理解: 
它将“属性”与“特性”做了区别,属性指的是“name,id”等等,特性指的是“selectedIndex, tagName, nodeName”等等。 
JQ1.6之后,可以通过attr方法去获得属性,通过prop方法去获得特性

$("#cb").attr("tagName"); //undefined
$("#cb").prop("tagName"); //INPUT  

.prop

时间: 2024-08-26 23:05:19

jquery attr 设置属性 checked disabled 不起作用 改用prop的相关文章

Jquery attr()方法 属性赋值和属性获取

jquery中用attr()方法来获取和设置元素属性,attr是attribute(属性)的缩写,在jQuery DOM操作中会经常用到attr(),attr()有4个表达式. 1. attr(属性名)       //获取属性的值(取得第一个匹配元素的属性值.通过这个方法可以方便地从第一个匹配元素中获取一个属性的值.如果元素没有相应属性,则返回 undefined ) 2. attr(属性名, 属性值)   //设置属性的值 (为所有匹配的元素设置一个属性值.) 3. attr(属性名,函数值

Jquery attr()方法 属性赋值和属性获取 - MwSoft

jquery中用attr()方法来获取和设置元素属性,attr是attribute(属性)的缩写,在jQuery DOM操作中会经常用到attr(),attr()有4个表达式. 1.  attr( 属性名 )        //获取属性的值(取得第一个匹配元素的属性值.通过这个方法可以方便地从第一个匹配元素中获取一个属性的值.如果元素没有相应属性,则返回 undefined ) 2.  attr( 属性名, 属性值 )    //设置属性的值 (为所有匹配的元素设置一个属性值.) 3.  att

jquery attr的属性

在JS中设置节点的属性与属性值用到setAttribute(),获得节点的属性与属性值用到getAttribute(),而在jquery中,用一个attr()就可以全部搞定了,赞一个先 ^^ jquery中用attr()方法来获取和设置元素属性,attr是attribute(属性)的缩写,在jQuery DOM操作中会经常用到attr(),attr()有4个表达式. 1. attr(属性名)        //获取属性的值(取得第一个匹配元素的属性值.通过这个方法可以方便地从第一个匹配元素中获取

Jquery获取checkbox属性checked为undefined

说明:本文来自新浪博客,因为无法收藏,故直接copy过来备注,以后好查询 原网址:http://blog.sina.com.cn/s/blog_6810dfc20101jddq.html 使用jQuery v1.10.2获取checkbox的状态时,用.attr("checked")时输出总是为undefined.郁闷了,这难道是个bug?! 查看jQuery API的文档,发现: As of jQuery 1.6, the .attr() method returns undefin

jQuery attr() - 获取属性值

<!DOCTYPE html><html><head><meta charset="utf-8"><script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"></script><script>$(document).ready(function(){ $("button")

spring boot 与 thymeleaf (3): 设置属性、条件、遍历、局部变量、优先级、内联语法

前面记录了 thymeleaf 基本表达式, 这里继续看一下其他功能. 一. 设置属性值 这里的controller, html框架 还是沿用上一篇的部分. html: <div class="panel panel-primary"> <div class="panel-heading"> <h3 class="panel-title">设置属性值</h3> </div> <di

jquery attr方法和prop方法获取input的checked属性问题

问题:经常使用jQuery插件的attr方法获取checked属性值,获取的值的大小为未定义,此时可以用prop方法获取其真实值,下面介绍这两种方法的区别: 1.通过prop方法获取checked属性,获取的checked返回值为boolean,选中为true,否则为flase <input type="checkbox" id="selectAll" onclick="checkAll()">全选 function checkAll

jquery attr方法获取input的checked属性问

问题:经常使用jQuery插件的attr方法获取checked属性值,获取的值的大小为未定义,此时可以用prop方法获取其真实值,下面介绍这两种方法的区别: 1.通过prop方法获取checked属性,获取的checked返回值为boolean,选中为true,否则为flase . 代码如下: <input type="checkbox" id="selectAll" onclick="checkAll()">全选 function

关于Jquery获取和设置属性的两个方法prop()/attr()的区别。

1.从 jQuery 1.6 开始新增了一个方法 prop().因为在 jQuery 1.6 之前,使用 attr() 有时候会出现不一致的行为. 2.根据官方的建议:具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr() prop()函数的结果: 1.如果有相应的属性,返回指定属性值. 2.如果没有相应的属性,返回值是空字符串. attr()函数的结果: 1.如果有相应的属性,返回指定属性值.