html():
html() 方法返回或设置被选元素的内容 (inner HTML)。
当使用该方法读取多个值时,它会返回第一个匹配元素的内容。
当使用该方法设置一个值时,它会覆盖所有匹配元素的内容。
取元素内容的时候会把指定元素下面的代码标签也能获取到
text()
读取多个返回多个
和html()类似,但是只获取指定元素纯文本内容
val():
返回或设置被选元素的值(读取多个只返回第一个),这点和html()类似
通过value属性设置和获取,常用于input元素,只能用在表单元素上
attr():
$().attr(属性名,属性值)→$(selector).attr(attribute,value)
也可设置多个$(selector).attr({attribute:value, attribute:value ...})
返回或设置被选元素属性值,value的属性值
一共有四种写法:
attr(属性名),获取第一个属性值,如果没有返回undefined
attr(属性名,属性值),设置所以匹配元素的属性值
attr(属性名,函数值),设置属性的函数值
attr({属性名一: “属性值一” , 属性名二: “属性值二” , … … }),批量设置属性值
prop()
当该方法用于返回属性值时,则返回第一个匹配元素的值。
当该方法用于设置属性值时,则为匹配元素集合设置一个或多个属性/值对。
四种用法和attr一样。
attr(),prop()的使用和区别:
Attribute/Property | .attr() | .prop() |
---|---|---|
accesskey | √ | |
align | √ | |
async | √ | √ |
autofocus | √ | √ |
checked | √ | √ |
class | √ | |
contenteditable | √ | |
draggable | √ | |
href | √ | |
id | √ | |
label | √ | |
location ( i.e. window.location ) | √ | √ |
multiple | √ | √ |
readOnly | √ | √ |
rel | √ | |
selected | √ | √ |
src | √ | |
tabindex | √ | |
title | √ | |
type | √ | |
width ( if needed over .width() ) |
√ |
获取状态表达不同:
attr('checked'): checked(没选中时,attr获取的是undefined)
prop('checked'): true(统一返回true和false)
添加属性名称立即生效的用prop;
有true和false两个属性的可以用prop;
固有属性的可以考虑使用prop;
其他情况可考虑用attr,比如自定义的dom属性action处理时使用attr
this.value是JS原生态写法,$(this).val()是JQ的写法