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

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

2018-01-24 關鍵詞:蘇州網站制作  蘇州網站開發  蘇州網站推廣  蘇州做網站   4599

需求:具有審核權限的一定會有更新、查看權限,具有更新權限的一定會有查看全選沒有選中查看權限的、一定沒有更新、審核權限

思路:根據value值來判斷,查看權限的value值會包含_find、更新權限的value值包含_mod、審核權限的value包含_review,在點擊checkbox的點擊事件上操作。

$(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二次無法選中的問題解決辦法

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

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

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

這種寫法的缺點是在chrome瀏覽器中第一次點擊有效后面就不行了,IE8倒是沒有問題

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

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

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

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

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

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

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

在JQ1.6之前的版本,我們會這樣寫我們的代碼: 

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

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

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

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

以上是蘇州網站制作小編在實際項目中遇到的問題,記下了解決辦法,額外搜集了相關信息,僅供參考,希望對遇到同樣問題的小伙伴有幫助。

 

 

 

 


首頁 網站建設 小程序 品牌設計 服務項目 案例展示 售后保障 聯系方式 新聞中心 關于我們 人才招聘
我們的優勢

細致入微的前期服務
精準的策劃服務
精湛的網頁設計
穩定 可靠 極速的域名和服務器
任何問題,24小時回復并處理

版權所有:蘇州謝謝網絡傳媒有限公司  蘇ICP備11087090號   

首頁 電話 服務項目
主站蜘蛛池模板: 午夜老司机永久免费看片 | 免费看又爽又黄禁片视频1000 | 蝌蚪蚪窝视频在线视频手机 | 欧美成 人激情视频 | 国产大片好看免费播放 | 欧美日韩亚洲综合 | 久99re视频9在线观看 | 亚洲无吗视频 | 欧美日韩性生活 | 一级黄色免费片 | 成人亚洲精品777777 | 国产福利在线观看永久视频 | 免费的黄色小视频 | 一级特黄毛片 | 国内精品综合九九久久精品 | 51激情精品视频在线观看 | 欧美一区不卡二区不卡三区 | 成年大片免费播放视频人 | 欧洲精品视频在线观看 | 青青青爽国产在线视频 | 国产欧美另类久久精品91 | 色综合久久亚洲国产日韩 | 在线观看视频色 | 经典香港一级a毛片免费看 春水堂在线 | 综合伊人久久在一二三区 | 免费www xxx | 亚洲国产精品一区二区三区久久 | 色毛片| 国产影视精选网站 | 国产成人精品日本亚洲专一区 | 国产激情一区二区三区成人91 | 亚洲综合网在线观看首页 | 美国免费高清一级毛片 | 欧美一区二区三区在线 | 国产精品v一区二区三区 | 香港一级a毛片在线播放 | 久久婷婷是五月综合色狠狠 | 亚洲视频在线观看视频 | 国产精品99久久久久久宅男 | 日本不卡在线一区二区三区视频 | 免费国产高清视频 |