获取属性值
在原生js中:
获取属性:原生JS元素对象.getAttribute("属性")
设置属性: 原生JS元素对象.setAttribute("属性","值")
在jQuery中:
获取属性 JQ对象.attr("属性")
设置属性 JQ对象.attr("属性","值")
获取属性 JQ对象.prop("属性")
设置属性 JQ对象.prop("属性","值")
attr()和prop的区别:
1.attr可以获取自定义的属性值,但是只能获取初始值,当selected或者checked发生改变以后,使用attr
不能再获取值。
2.prop不能获取自定义的属性值,可以持续的获取发生改变的值,并且将结果以true或者flase的形式返回
例子:
jq元素对象.prop('ckecked'),当被选中时,返回的状态时点击后修改的状态,也就是false,获取的时候如果是未选中状态,则返回true。
修改复选框或者下拉框的选中未选中状态
原生JS:
原生JS对象.checked = true/flase
jQuery:
jQ元素对象.prop('checked',true),将checked属性值取消
jQ元素对象.prop('checked',false),增加checked的属性
例子
<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"