jQuery中的.html()和.text()及.val()区别
-
.html()
.html():获取集合中第一个匹配元素的HTML内容。这个函数不能用于XML文档。但可以用于XHTML文档
.html( htmlString ):设置每一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档
.html( function(index, oldhtml)):return设置HTML内容的一个函数。index可选。接收选择器的 下标 位置;oldhtml可选。接收选择器的当前内容。
-
.text()
.text():获取匹配元素集合中每个元素的合并文本内容,包括他们的后代。这个方法对HTML和XML文档都有效。
.text( textString ):设置匹配元素内容的文本
.text( function(index, oldtext)):return设置文本内容的一个函数。index可选。接收选择器的 下标 位置;oldtext可选。接收选择器的当前内容。
- .val()
.val():获取匹配的元素集合中的第一个元素的当前值
.val(value):设置匹配的元素集合中的每个元素的值
.val( function(index, oldvalue) ) return设置文本内容的一个函数。index可选。接收选择器的 下标 位置;oldvalue可选。接收选择器的当前内容。
注意事项:
- .html():方法内部使用的是DOM的innerHTML属性来处理的,所以在设置与获取上需要注意的一个最重要的问题,这个操作是针对整个HTML内容(不仅仅是文本内容,元素标签也包含在里面)
- .text():结果返回一个字符串,包含所有匹配元素的合并文本
- .val():
- 通过.val()处理select元素,当没有选择项被选中,他返回null
- .val()方法多用来设置表单的字段的值
- 如果select元素有multiple(多选)属性,并且至少一个选择项被选中,.val()方法返回一个数组。这个数组包含每个选中的选择项的值
.html(),.text()和.val()的差异总结:
.html(),.text(),.val()三种方法都是用来读取选定元素的内容;
.html()是用来读取元素的html内容(包括html标签);
.text()用来读取元素的纯文本内容,包括其后代元素;
.val()是用来读取表单元素的"value"值;
.html()和.text()方法不能使用在表单元素上,而.val()只能使用在表单元素上;
.html()方法使用在元素集合上时,只读取第一个元素;.val()方法和.html()相同,如果其应用在元素集合上时,只能读取第一个表单元素的"value"值,但是.text()不一样,如果.text()应用在多个元素上时,将会读取所有选中元素的文本内容;
.html(htmlString),.text(textString)和.val(value)三种方法都是用来替换选中元素的内容,如果三个方法同时运用在多个元素上时,那么将会替换所有选中元素的内容;
.html(),.text(),.val()都可以使用回调函数的返回值来动态的改变多个元素的内容;