最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Jquery attr("checked") 返回checked或undefined 獲取選中失效

 更新時間:2013年10月10日 16:46:20   作者:  
$('#cb').attr('checked'); 返回的是checked或者是undefined,不是原來的true和false了,有關(guān)此問題的解決方法如下,感興趣的朋友可以參考下
假設(shè)我們現(xiàn)在需要這樣的場景:頁面上有一個checkbox,我們期望通過Jquery來獲得它是否選中,或者通過Jquery來讓它被選中。
在JQ1.6之前的版本,我們會這樣寫我們的代碼:
復(fù)制代碼 代碼如下:

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

//設(shè)置選中
$('#cb').attr('checked',true);
</script>

這樣寫在JQ1.6之前完全沒問題,可是當我們升級JQ1.6到更高的版本時,問題就來了,此時我們會發(fā)現(xiàn):
$('#cb').attr('checked'); 返回的是checked或者是undefined,不是原來的true和false了。
并且checked屬性在頁面初始化的時候已經(jīng)初始化好了,不會隨著狀態(tài)的改變而改變。所以如果checkbox一開始是選中的,那么返回的是checked,如果一開始沒被選中,則返回的是undefined。

解決的方法是:
復(fù)制代碼 代碼如下:

<input type='checkbox' id='cb'/>
<script>
//獲取是否選中
var isChecked = $('#cb').prop('checked');
//或
var isChecked = $('#cb').is(":checked");
//設(shè)置選中
$('#cb').prop('checked',true);
</script>

分析了其中的原因,可以這樣理解:

它將“屬性”與“特性”做了區(qū)別,屬性指的是“name,id”等等,特性指的是“selectedIndex, tagName, nodeName”等等。
JQ1.6之后,可以通過attr方法去獲得屬性,通過prop方法去獲得特性
復(fù)制代碼 代碼如下:

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

相關(guān)文章

最新評論

秦安县| 澄城县| 永定县| 泰来县| 晴隆县| 青冈县| 胶州市| 钟山县| 曲水县| 酒泉市| 广西| 淮安市| 醴陵市| 平乐县| 纳雍县| 张家川| 闽清县| 莱西市| 梅河口市| 阜宁县| 多伦县| 固原市| 康定县| 南昌市| 体育| 广东省| 岱山县| 大兴区| 旺苍县| 额尔古纳市| 林西县| 瑞丽市| 鄂州市| 桑日县| 九台市| 昌乐县| 阿克苏市| 临泽县| 长治县| 郑州市| 澎湖县|