999久久久国产精品-999久久久精品视频在线观看-999久久久免费精品国产牛牛-999久久免费高清热精品-999热成人精品国产免

jQuery checkbox RemoveAttr(checked)之后再點(diǎn)擊Attr(checked)屬性失效

2018-01-24 關(guān)鍵詞:蘇州網(wǎng)站制作  蘇州網(wǎng)站開(kāi)發(fā)  蘇州網(wǎng)站推廣  蘇州做網(wǎng)站   4773

需求:具有審核權(quán)限的一定會(huì)有更新、查看權(quán)限,具有更新權(quán)限的一定會(huì)有查看全選沒(méi)有選中查看權(quán)限的、一定沒(méi)有更新、審核權(quán)限

思路:根據(jù)value值來(lái)判斷,查看權(quán)限的value值會(huì)包含_find、更新權(quán)限的value值包含_mod、審核權(quán)限的value包含_review,在點(diǎn)擊checkbox的點(diǎn)擊事件上操作。

$(function() {

            $("#modaltbody input[type='checkbox']").change(function(){       

              var str=$(this).val();

              if(str.indexOf('review')>0) {      

                  //審核

                  if($(this).is(":checked")) {            

                      $(this).parent().parent().find("input").each(function(){

                          if($(this).val().indexOf('find')>0 || $(this).val().indexOf('mod'))

                          {                            

                              $(this).prop("checked",true);

                          }

                      })

                  }

                  else

                  {           

                      $(this).prop("checked",false);

                  }

              }else if(str.indexOf('mod')>0)

              {

                  //修改

                  if($(this).is(":checked")) {

                           $(this).parent().parent().find("input").each(function(){

                          if($(this).val().indexOf('find')>0)

                          {                            

                              $(this).prop("checked",true);

                          }

                      })

                  }else

                  {

                      $(this).parent().parent().find("input").each(function(){

                          if($(this).val().indexOf('review')>0 || $(this).val().indexOf('mod')>0)

                          {                            

                              $(this).prop("checked",false);

                          }

                      })

                  }


              }else {

                  //查看

                  if(!$(this).is(":checked"))

                  {

                      $(this).parent().parent().find("input").each(function(){   

                              $(this).prop("checked",false);                      

                      })

                  }


              }


            })


        });

jquery使用attr,removeAttr二次無(wú)法選中的問(wèn)題解決辦法

這里的選中checkbox、取消checkbox也可以用下面的寫(xiě)法

$(this).attr("checked","checked");//選中

$(this).removeAttr("checked");//取消

這種寫(xiě)法的缺點(diǎn)是在chrome瀏覽器中第一次點(diǎn)擊有效后面就不行了,IE8倒是沒(méi)有問(wèn)題

百度了很久找到原因是HTML的屬性分為attribute和property,暫且將后者稱(chēng)為特性。

checked屬性即分為attribute->checked,和property->true,false。

對(duì)于一個(gè)checkbox,若未定義checked="checked",alert($.attr("checked")) 的結(jié)果是undefined。若已定義則結(jié)果是checked。attribute并不隨著checkbox的狀態(tài)變化而改變。

使用prop($.attr("checked"))的話輸出則分別為false和true。property則隨其變化而變化。

所以在修改checked屬性時(shí)要使用prop()。prop()在jQuery1.6版本后新增。

另外關(guān)于在IE9之前版本中,如果property沒(méi)有在DOM元素被移除之前刪除,使用.prop()方法設(shè)置DOM元素property(簡(jiǎn)單類(lèi)型除外:number、string、boolean)的值會(huì)導(dǎo)致內(nèi)存泄露。為了安全的設(shè)置DOM對(duì)象的值,避免內(nèi)存泄露,可以使用.data()方法。 目前尚未遇到,先記在這里。 

$('#checkbox').attr('checked'); 返回的是checked或者是undefined,不是原來(lái)的true和false了,有關(guān)此問(wèn)題的解決方法如下。 

在JQ1.6之前的版本,我們會(huì)這樣寫(xiě)我們的代碼: 

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

分析了其中的原因,可以這樣理解: 
它將“屬性”與“特性”做了區(qū)別,屬性指的是“name,id”等等,特性指的是“selectedIndex, tagName, nodeName”等等。 
JQ1.6之后,可以通過(guò)attr方法去獲得屬性,通過(guò)prop方法去獲得特性

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

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

以上是蘇州網(wǎng)站制作小編在實(shí)際項(xiàng)目中遇到的問(wèn)題,記下了解決辦法,額外搜集了相關(guān)信息,僅供參考,希望對(duì)遇到同樣問(wèn)題的小伙伴有幫助。

 

 

 

 


首頁(yè) 網(wǎng)站建設(shè) 小程序 品牌設(shè)計(jì) 服務(wù)項(xiàng)目 案例展示 售后保障 聯(lián)系方式 新聞中心 關(guān)于我們 人才招聘
我們的優(yōu)勢(shì)

細(xì)致入微的前期服務(wù)
精準(zhǔn)的策劃服務(wù)
精湛的網(wǎng)頁(yè)設(shè)計(jì)
穩(wěn)定 可靠 極速的域名和服務(wù)器
任何問(wèn)題,24小時(shí)回復(fù)并處理

版權(quán)所有:蘇州謝謝網(wǎng)絡(luò)傳媒有限公司  蘇ICP備11087090號(hào)   

首頁(yè) 電話 服務(wù)項(xiàng)目
主站蜘蛛池模板: 国产偷国产偷亚洲高清在线 | 同性欧美可播放videos免费 | 国模私拍福利视频在线透漏 | 日本韩国欧美一区 | 亚洲欧洲日产国码天堂 | 黄+在线播放 | 欧美日韩亚洲国产综合 | 国产在线视频网站 | 怡红院免费va男人的天堂 | 国产免费一级高清淫日本片 | 免费亚洲成人 | 欧美精品日韩一区二区三区 | 国产1区二区| 色综合一区二区三区 | 久久精品国内一区二区三区 | 高h喷水荡肉爽文np欲 | 最新黄色地址 | 一级黄色毛毛片 | 欧美色视 | 成人精品一区二区户外勾搭野战 | 精品视频免费看 | 精品在线视频免费观看 | 美国特黄一级片 | 国内成人免费视频 | 羞羞一区二区三区四区片 | 婷婷综合丁香 | 成人网视频免费播放 | 欧美三黑人一级特黄曰皮 | 九九精品成人免费国产片 | 国产一区三区二区中文在线 | 高清潢色大片 | 亚洲国产欧美精品 | 午夜视频在线观看国产www | 国产精品v一区二区三区 | 九九热视频在线观看 | 国产精品v欧美精品v日韩精品 | 麻豆网站在线免费观看 | 粉嫩00福利视频在线精品 | 亚洲妇熟xxxx妇色黄 | 亚洲精品区 | www.国产一区二区 |