jquery中的prop和attr比較區別

  近期和一同事爭執prop和attr的區別,也查了不少,同事說它只是特性和固有屬性的區別,可是我也查到了一些其餘的,故此,來總結一下吧!spa

  一、固有屬性和特別屬性 input

      對於HTML元素自己就帶有的固有屬性,在處理時,使用prop方法。io

      對於HTML元素咱們本身自定義的DOM屬性,在處理時,使用attr方法。select

    例如:   方法

      <input id="chk1" type="checkbox" />是否可見
      <input id="chk2" type="checkbox" checked="checked" />是否可見

      像checkbox,radio和select這樣的元素,選中屬性對應「checked」和「selected」,這些也屬於固有屬性,所以須要使用prop方法去操做才能得到正確的結果。      
      $("#chk1").prop("checked") == false
      $("#chk2").prop("checked") == true
      若是上面使用attr方法,則會出現:
      $("#chk1").attr("checked") == undefined
      $("#chk2").attr("checked") == "checked"
 

  二、感受下面的有些不靠譜,你們視狀況而定吧!總結

    1.添加屬性名稱該屬性就會生效應該使用prop();
    2.是有true,false兩個屬性使用prop();
    3.其餘則使用attr();checkbox

相關文章
相關標籤/搜索