jquery常用方法之attr和prop方法

attr ( ) : 给选中的元素添加属性,或取元素属性

赋值:attr主要是给选中元素添加自定义属性,当然添加class、id 这些特性也可以

下边代码中:我们给第一个div添加一个自定义属性date,给第二个div添加class,效果如下:

   <div class="box">1</div>
   <div class="box">2</div>
<script>
    $(".box").eq(0).attr("date","2019/5/18");
    $(".box").eq(1).attr("class","test")
<、script>

取值:先给第一个div添加自定义属性date,然后我们分别取:第一个div中的date属性和第二个div的class类名,看下边代码:

   <div class="box">1</div>
   <div class="box">2</div>
<script>
    $(".box").eq(0).attr("date","2019/5/18");
    console.log( $(".box").eq(0).attr("date") );
    console.log( $(".box").eq(1).attr("class") );
</script>

prop ( ) : 也是给选中的元素添加属性,或取元素属性

赋值:prop在赋值时——选中元素添加自定义属性添加不上去的,它只能给选中的元素添加class类名 或者是id还有控制一些元素的特性如:(disabled  checked  selected)

大家仔细看下下边代码:使用prop给第一个div添加自定义属性date并没有添加上去,给第二个div添加class类名已添加上去了。

    <div>1</div>
    <div>2</div>
<script>
      $("div").eq(0).prop("date","2019/5/18");
      $("div").eq(1).prop("class","test");
</script>

取值:跟attr都一样,但是取一些元素特性(disabled  checked  selected)的时候,只能用prop

例如:加上了checked特性之后的单选框默认是被选中的状态,我们使用attrprop分别来取checked,打印看下:

    <input type="checkbox" checked>
  <script>
      console.log( $("input").prop("checked") );
      console.log( $("input").attr("checked") );
  </script>

结果很明显:使用prop可以实时把单选框的状态选中,而使用attr则无能为力!!!

总结下:

1、在开发的时候,如果想给选中元素添加一些自定义的属性,比如上边例子中的date属性使用attr添加,我们后边会把jquery中的data方法介绍给大家

2、有个小细节,使用prop给选中元素添加自定义属性的时候,虽然添加不上去,但是取这个自定义属性的时候可以取到,这块大家可以试下;

3、给选中的元素添加class、id或者class、id的时候,使用attr或prop都可以

4、判断单选框是否被选中时,或者取是否被选中的时候 用prop,因为prop可以实时的返回状态。

5、prop和attr取出来的属性值都是字符串类型的!!!

猜你喜欢

转载自blog.csdn.net/qq_42778001/article/details/90311155