html()方法与text()方法

时间:2014-04-11 10:50:25

标签: jquery

一些或多个人使用html()方法获取元素的文本,如<p>text</p>,并获得此$('p').html()$('p').text()

显然我知道html方法和文本方法之间存在巨大差异。但我想更多地了解这个背景,使用哪个更好?

有人可能会说文本方法比html方法更好,请解释原因?

6 个答案:

答案 0 :(得分:0)

当您在呈现文字时需要html 格式/样式时,您应该使用html(),当您只需要文字时,请转到text()

答案 1 :(得分:0)

这些方法派生自textcontent / innerhtml ..

$('#yourid').text() = document.getElementsByID('yourid')[0].textContent);
hello <span>

如果您想要获取没有转义字符的HTML,则应使用.text()

$('#yourid').html() = document.getElementsByID('yourid')[0].innerHTML
hello &lt;span&gt;

如果您想设置HTML或获取原始转义HTML,则应使用.html();

答案 2 :(得分:0)

有人喜欢使用何时以及为何使用html和/或文本方法,但我想告诉你html()方法比text()方法更快:

  

html方法只是innerHTML的一个包装,但是用文本方法jQuery添加一个“实体过滤器”,这个过滤器扩展时间。

  • .text()可以在XML和HTML文档中使用。
  • .html()仅适用于html文档。

See more info here

那么,您要使用哪一个?

答案 3 :(得分:0)

根据jQuery的说法,
.text()方法的结果是一个字符串,其中包含所有匹配元素的组合文本。

由于不同浏览器中HTML解析器的差异,
返回的文本可能会在换行符和其他空格中有所不同。

.text()方法不能用于 表格输入或脚本 从jQuery 1.4开始,.text()方法返回text和CDATA节点以及元素节点的值。 *

答案 4 :(得分:0)

.text()将给定的表达式添加为文本,.html()将其作为html表达式添加到dom中

这是一个例子;

var str = '<strong>HELLO</strong>'
$("#addHere").text(str);

=&GT;您将在<strong>HELLO</strong>

中看到实际字符串#addHere
var str = '<strong>HELLO</strong>'
$("#addHere").html(str);

=&GT;你会在#addHere

中看到一个大胆的你好

答案 5 :(得分:0)

jQuery提供了2个函数text()和html()以及何时使用text()函数以及何时使用html()函数非常混乱,因为这两个函数都不同并且用于不同的目的。

.html() - 这个jQuery函数获取/设置任何元素的HTML。 .text() - 这个jQuery函数获取/设置任何元素的文本(innertext)。

What is the difference between jQuery: text() and html() ?