相比baiattr,prop是1.6.1才新出来的,两者从中文意思理解,都是获du取/设置属性的zhi方法(attributes和properties)。只是,window或daodocument中使用.attr()方法在jQuery1.6之前不能正常运行,因为window和document中不能有attributes。prop应运而生了。
attr:
描述: 获取匹配的元素集合中的第一个元素的属性的值。
attr( attributeName )
attributeName
类型: String
要获取的属性名称 .attr()方法只获取第一个匹配元素的属性值。
prop:
描述: 获取匹配的元素集中第一个元素的属性(property)值
prop( propertyName )
propertyName
类型: String
要得到的属性的名称 .prop()方法只获得第一个匹配元素的属性值 。如果元素上没有该属性,或者如果没有匹配的元素。那么该方法会返回undefined值。
下面举个例子:可以用attr替换prop查看效果
<script>
$(function () {
//全选
$("#CheckedAll").click(function () {
if (this.checked) {//如果当前点击的多选框被选中
$('input[type=checkbox][name=items]').prop("checked", true);
} else {
$('input[type=checkbox][name=items]').prop("checked", false);
}
});
//输出值
$("#send").click(function () {
var str = "你选中的是:\r\n";
$('input[type=checkbox][name=items]:checked').each(function () {
str += $(this).val() + "\r\n";
})
alert(str);
});
})
</script>
<form>
你爱好的运动是?<input type="checkbox" id="CheckedAll" />全选/全不选<br />
<input type="checkbox" name="items" value="足球" />足球
<input type="checkbox" name="items" value="篮球" />篮球
<input type="checkbox" name="items" value="羽毛球" />羽毛球
<input type="checkbox" name="items" value="乒乓球" />乒乓球<br />
<input type="button" id="send" value="提 交" />
</form>