jQuery中操作属性的方法attr与prop的区别

attr 与 prop 都可以对某个属性进行获取和设置的操作,二者的用法相同:

<script src = 'jQuery.js'></script>
<script> // attr:
// 设置单个属性
$(element).attr(name,value); // 设置多个属性
$(element).attr(obj); // 获取属性
$(element).attr(name); // prop:
// 设置单个属性
$(element).prop(name,value); // 设置多个属性
$(element).prop(obj); // 获取属性
$(element).prop(name);
</script>

用处和区别却是不一样的,对于返回值是布尔类型的属性,如:disabled, checked只能使用 prop 进行操作,当然更大的区别在于,attr 操作的是写在元素内的字面属性,而 prop 操作的是元素的 DOM 属性:

<body>

    // 以访问网站的形式打开页面

    // 例:假设文件在C盘中,上层主目录文件夹为 folder-min
<img id="img" src="/folder/image.jpg" /> <input id="check1" type="checkbox" checked="checked" /> <input id="check2" type="checkbox" />
<script>
$( '#img' ).attr( 'src' ); // 控制台输出:"/folder/image.jpg"
$( '#check' ).prop( 'src' ); // "http://folder-min/folder/image.jpg" $( '#check1' ).attr( 'checked' ); // checked
$( '#check1' ).prop( 'checked' ); // true 或 false 取决于复选框状态 $( '#check2' ).attr( 'checked' ); // undefined
$( '#check2' ).prop( 'checked' ); // true 或 false 取决于复选框的状态
</script>
</body>
上一篇:Selenium 工作原理


下一篇:attr VS prop 区别