jquery中html 与 text方法的区别
接鉵jquery的时间并不长,以前都是用直接用js写的,现在发现在jquery这个框架用起来很方便,不但代码量少了,使用也比较简单,对于浏览器的兼容问题也不用担心,在使用的过程中也会遇到一些疑问,在html标签中附加子标签时所用的方法html()与text()的区别。
通常在用jquery写ajax时,都会用到html()这个方法,而不用text()这个方法,他们之间有什么区别呢?
首先,html属性中有两个方法,一个有参,一个无参。下面我们都用实例来看看,这样比较容易帮助理解。
1. 无参html():取得第一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档,返回的是一个String
例子:
html页面代码:<div><span>Hello</span></div>
jquery代码:$(“div”).html();
结果:<span>Hello</span>
2.有参html(val):设置每一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。返回一个jquery对象
html页面代码:<div></div>
jquery代码:$(“div”).html(“<p>Nice to meet you</p>”);
结果:<div><p> Nice to meet you</p></div>(html标签会被浏览器识别)
其次,text属性中有两个方法,一个有参,一个无参
1. 无参text():取得所有匹配元素的内容。结果是由所有匹配元素包含的文本内容组合起来的文本。返回的是一个String。
例子:
html页面代码:<p><span>Hello<span><div> fine</div></p>
jquery代码:$(“p”).text();
结果:Hello
fine
2.有参text(val):设置所有匹配元素的文本内容,与 html() 类似, 但将编码 HTML (将 “<” 和 “>” 替换成相应的HTML实体).返回一个jquery对象。
html页面代码:<div>Paragraph.</div>
jquery代码:$(“div”).text(“<b>Some</b> new text.”);
结果: <p><b>Some</b> new text.</p> (html标签不会被浏览器识别,而是当作字符串来输出)
通过上面的例子,我们知道了,html()方法与text()方法的区别就在于对html标签的识别上不同。