【JS】HTMLprop与attr的区别

与prop一样attr也可以用来获取与设置元素的属性。
区别在于,对于自定义属性和选中属性的处理。
选中属性指的是 checked,selected 这2种属性
1. 对于自定义属性 attr能够获取,prop不能获取
2. 对于选中属性
attr 只能获取初始值, 无论是否变化
prop 能够访问变化后的值,并且以true|false的布尔型返回。

 

***注意***:attr方法,第二次添加selected属性,option不会被选中

<script src="http://how2j.cn/study/jquery.min.js"></script>
  
<script>
$(function(){
   $("#b1").click(function(){
      alert("game属性是:" + $("#c").attr("game") );
   });
 
   $("#b2").click(function(){
      alert("game属性是:" + $("#c").prop("game") );
   });
 
   $("#b3").click(function(){
      alert("checked属性是:" + $("#c").attr("checked") );
   });
 
   $("#b4").click(function(){
      alert("checked属性是:" + $("#c").prop("checked") );
   });
 
});
  
</script>
  
<style>
button{
  display:block;
}
</style>
 
<button id="b1">通过attr获取自定义属性 game</button>
<button id="b2">通过prop获取自定义属性 game</button>
<button id="b3">通过attr获取 checked属性</button>
<button id="b4">通过prop获取 checked属性</button>
  
<br>
<br>
  
<input type="checkbox"  id="c" game="LOL" checked="checked"> 选中的复选框


<select id="ss"  autocomplete="off">
    <option id="op1">某位</option>
    <option id="op2">女生</option>
    <option id="op3">男生</option>
</select>
<div id="ssss1">add</div><div id="ssss2">remove</div>
<script src="jquery-1.12.0.min.js"></script>
<script type="text/javascript">
    $("#ssss1").click(function () {
        $("#op2").attr("selected",true)
        $("#op2").prop("selected",true)
    })
    $("#ssss2").click(function () {
        $("#op2").attr("selected",false)
        $("#op2").prop("selected",false)
    })
</script>

 

posted on 2016-10-25 10:30  Hector_E  阅读(1522)  评论(0)    收藏  举报

导航