一、attr与val
val只能获取到元素的value值,如:
alert($(this).val()+"unselected");
this是checkbox;
attr不仅可以获取元素的value值,还可以获取到其他如id,css,style等。
二、attr与prop
对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。
对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。
<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"
三、attr与css
css可以这样用
$("#select").css({"background-color":"yellow","font-size":"200%"});
attr可以包含css的用法,使用范围比css广
$("#select").attr("style", "background-color:yellow;font-size:200%");