.html()与.text()区别与辨析

.html()与.text()区别与辨析


这两天看了一下html和jquery的选择器,并对w3chool上面的在线编辑产生了兴趣,但是在用textarea展示后台纯html的时候发生错误,查阅各种资料发现不行……心态炸了。废话不多说了,上干货。

首先,html属性中有两个方法,一个有参,一个无参。
1. 无参html():取得第一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档,返回的是一个String
例子:

html页面代码:<div><span>你好</span></div>

jquery代码:$(“div”).html();

结果:<span>你好</span>(获取子标签和文本内容)
2.有参html(val):设置每一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。返回一个jquery对象
html页面代码:<div></div>

jquery代码:$(“div”).html(“<p>我爱你中国</p>”);

浏览器显示出来的结果是:我爱你中国(也就是说浏览器能识别我们插入进去的标签)

其次,text属性中有两个方法,一个有参,一个无参

1. 无参text():取得所有匹配元素的内容。结果是由所有匹配元素包含的文本内容组合起来的文本。返回的是一个String。

例子:

html页面代码:<p><span>你好<span><div> 很好</div></p>

jquery代码:$(“p”).text();

结果:你好  很好(只选取标签下面的文本,标签不会被识别识别出)
 

2.有参text(val):设置所有匹配元素的文本内容,与 html() 类似, 但将编码 HTML (将 “<” 和 “>” 替换成相应的HTML实体).返回一个jquery对象。

html页面代码:<div>Paragraph.</div>

jquery代码:$(“div”).text(“<b>哈哈,我会被完整输出</b> new text.”);

结果: <p><b>哈哈,我会被完整输出</b> new text.</p> (html标签不会被浏览器识别,而是当作字符串来输出)