$("selector").html(string) vs $("selector").text(string)两种方法有区别吗
现在在学习jquery的html()和string()方法。
我观察 string放入到html方法中和text方法中效果是一样的 都是返回了字符串,
请问html(string)和text(string) string代指字符串 两种有区别吗?
参考:
http://www.jb51.net/article/54591.htm
http://www.cnblogs.com/CZy5168/archive/2010/01/01/1637416.html
一个能插入HTML标签,一个当做纯文本
html("<b>ssss</b>");//插入的是标签里面内容为ssss
text("<b>ssss</b>");//插入的是<b>ssss</b>
1.HTML
html():取得第一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档
html(val):设置每一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。
2.TEXT
text():取得所有匹配元素的内容。
结果是由所有匹配元素包含的文本内容组合起来的文本。这个方法对HTML和XML文档都有效。
text(val):设置所有匹配元素的文本内容
与 html() 类似, 但将编码 HTML (将 "<" 和 ">" 替换成相应的HTML实体).
2楼的回答已经很清晰了。
我能理解所说的意思。实际运用考虑不到具体的意思
text() - 设置或返回所选元素的文本内容;
html() - 设置或返回所选元素的内容(包括 HTML 标记);
下面的demo可以帮助你更加容易明白其中区别:
<!DOCTYPE html>
demo在这:
<!DOCTYPE html>
text(str):以文本格式向元素设置内容。就算是html标签也会显示为文本。比如text('百度'),显示也是百度,不会解析为一个A标签。
html(str):以html格式设置内容。会自动解析html标签!!
html() 会把里面的标签都给你复制出来
text() 直接把文字复制出来
举个例子:
<span class="test"><a>你好啊</a></span>
$(".test").html() => 打印出 ` <a>你好啊</a>`
$(".test").text() => 打印出 `你好啊`
我知道html(innerhtml)返回了各种内部标签 text(innerHtml)去掉了内部的各种标签
更清楚的问这个问题:我们选择一个没有标签的string 例如 "helloworld"
html("helloworld")与text("helloworld")有区别吗?二者之间存在什么异同?