摘要:最近在項(xiàng)目中使用到設(shè)置,使用場景是頁面上有三類單選框,一個(gè)是全選所有頁數(shù)據(jù)一個(gè)是選擇當(dāng)前頁,一個(gè)是選擇一條,也算常用的場景。的屬性在頁面首次加載時(shí)就確定。最后,總結(jié)下獲取和設(shè)置屬性的方法。
最近在項(xiàng)目中使用到j(luò)Query設(shè)置checkbox,使用場景是頁面上有三類單選框,一個(gè)是全選所有頁數(shù)據(jù)(id="cb1"),一個(gè)是選擇當(dāng)前頁(id="cb2"),一個(gè)是選擇一條(name="cb3"),也算常用的場景。
一開始全選框的點(diǎn)擊事件這樣寫:
$("#cb1",this).click(function(){ var allChecked = this.checked; $("#cb2").attr("checked",allChecked); //當(dāng)前頁 $("input[name="cb3"]").each( function(){ this.checked = allChecked; }) });
結(jié)果是點(diǎn)擊cb1以后,cb3的每條和cb2都能選中,cb1取消后其他也都能取消,但經(jīng)過上面一個(gè)回合以后,cb3正常,cb2卻再也選不中,沒有反應(yīng),當(dāng)時(shí)為此抓狂了很久。一開始以為是jQuery的版本問題,所以查看了引入的版本,發(fā)現(xiàn)并不是原因。
原來在jquery里,有兩種操作元素屬性的方法,一種是attr(),另一種是prop()。
attr()的屬性在頁面首次加載時(shí)就確定。當(dāng)頁面初始狀態(tài)checkbox沒有選中,$("#cb1").attr("checked")為undefined,點(diǎn)擊選中后,還是undefined,不管選中與否$("#cb1").attr("checked")始終都是undefined;當(dāng)頁面初試狀態(tài)checkbox選中,$("#cb1").attr("checked")為checked,之后取消選中還是checked。
prop()方法隨checked屬性改變而改變,選中時(shí)為true,為選中時(shí)為false。
最后,總結(jié)下獲取和設(shè)置checked屬性的方法。
得到選中屬性$("#id").prop("checked")
$("#id").get(0).checked)
document.getElementById("#id").checked
$("#id").is(":checked")
設(shè)置選中$("#id").prop("checked",true)
$("#id").get(0).checked = true
document.getElementById("#id").checked = true
不足之處歡迎大家補(bǔ)充指正。
參考:
http://blog.csdn.net/hjb27224...
http://www.jb51.net/article/5...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/50692.html
摘要:當(dāng)勾選全選按鈕旁邊的復(fù)選框時(shí),列表中的選項(xiàng)全部選中,反之取消勾選則列表中的選項(xiàng)全部為未選中狀態(tài)。全選或全不選全選全不選反選設(shè)置全選復(fù)選框獲取選中選項(xiàng)的值選項(xiàng)總個(gè)數(shù)全選不全選HTML 我們的頁面上有一個(gè)歌曲列表,列出多行歌曲名稱,并匹配復(fù)選框供用戶選擇,并且在列表下方有一排操作按鈕。 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 1.時(shí)間都去哪兒了 ...
摘要:屬性和特性我們知道的實(shí)現(xiàn)就是把一個(gè)文檔映射為一棵樹,而樹上的每個(gè)節(jié)點(diǎn)其實(shí)就是一個(gè)對(duì)象。 從jQuery的prop()和attr()方法說開去 jQuery中有兩個(gè)獲取DOM元素屬性的方法:prop()和attr(),看似可以互相替換,但若搞不清這兩個(gè)方法獲取的到底是什么屬性,有時(shí)就會(huì)出現(xiàn)令人困惑的結(jié)果。官方文檔中,用了下面的例子來解釋這兩者的不同: 操作 結(jié)果 elem.c...
摘要:屬性和特性我們知道的實(shí)現(xiàn)就是把一個(gè)文檔映射為一棵樹,而樹上的每個(gè)節(jié)點(diǎn)其實(shí)就是一個(gè)對(duì)象。 從jQuery的prop()和attr()方法說開去 jQuery中有兩個(gè)獲取DOM元素屬性的方法:prop()和attr(),看似可以互相替換,但若搞不清這兩個(gè)方法獲取的到底是什么屬性,有時(shí)就會(huì)出現(xiàn)令人困惑的結(jié)果。官方文檔中,用了下面的例子來解釋這兩者的不同: 操作 結(jié)果 elem.c...
摘要:在調(diào)試使用操作的選中狀態(tài)切換的時(shí)候,發(fā)現(xiàn)了個(gè)復(fù)選框在被選中再取消選中一次后,無法再次通過重新選中了。如果發(fā)現(xiàn)不對(duì),歡迎指正。但是使用直接操作每一個(gè)的屬性來設(shè)置,是可以正常的。 在調(diào)試使用jQuery操作checkbox的選中狀態(tài)切換的時(shí)候,發(fā)現(xiàn)了個(gè)bug:checkbox復(fù)選框在被選中再取消選中一次后,無法再次通過jQuery重新選中了。 如果發(fā)現(xiàn)不對(duì),歡迎指正。如果知道怎么解決這個(gè)問...
摘要:獲取匹配的第一個(gè)元素相對(duì)于其最近的具有定位即不是的父元素的位置返回不能設(shè)置。但是這兩種方法的缺點(diǎn)是要綁定的元素必須存在文檔中。支持對(duì)動(dòng)態(tài)創(chuàng)建的元素有效。解綁所有代理的事件,而元素本身的事件不會(huì)被解綁。觸發(fā)事件響應(yīng)方法,不觸發(fā)瀏覽器行為。 選擇器 :visible 和 :hidden 匹配顯示和隱藏的元素(css-display),需要指明元素或類,因?yàn)閔ead、script等元素也是...
閱讀 2689·2023-04-25 20:28
閱讀 1868·2021-11-22 09:34
閱讀 3702·2021-09-26 10:20
閱讀 1856·2021-09-22 16:05
閱讀 3097·2021-09-09 09:32
閱讀 2530·2021-08-31 09:40
閱讀 2111·2019-08-30 13:56
閱讀 3327·2019-08-29 17:01