html()方法与text()方法
一些或多个人使用html()方法获取元素的文本,如<p>text</p>
,并得到这个$('p').html()
或或$('p').text()
。html()方法与text()方法
很明显,我知道html方法和文本方法之间存在巨大差异。但我想了解更多这方面的信息,有什么更好的使用?
有人可能会说文字方法比html方法好,请解释一下为什么?
有供人们使用的时候以及为什么使用HTML和/或文本的方法,但我想告诉你的HTML喜好()方法比text()方法更快:
HTML方法只是innerHTML的一个包装,但是使用文本方法jQuery添加了一个“实体过滤器”,并且此过滤器扩展了时间。
- .text()可用于XML和HTML文档。
- .html()仅适用于html文档。
所以,你要使用哪一个?
非常感谢@ C-link。 –
当你需要HTML格式/风格,而文本所呈现,那么你应该使用html()
,当你只需要文本,然后去text()
这些方法是从的TextContent/innerHTML的衍生..
$('#yourid').text() = document.getElementsByID('yourid')[0].textContent);
hello <span>
您应该使用.text()
如果你想获得的HTML没有转义字符..
$('#yourid').html() = document.getElementsByID('yourid')[0].innerHTML
hello <span>
如果您想设置HTML或获取原始转义HTML,您应该使用.html()
;
作为每jQuery的说,
的.text()
方法的结果是一个包含所有匹配元素的组合的文本的字符串。
由于不同的浏览器的HTML解析器变化,
返回在新行和其他空白空间可能会发生变化的文本。
的.text()
方法不能在
形式输入或脚本中使用。
从jQuery 1.4开始,.text()
方法返回文本和CDATA
节点以及元素节点的值。*
.text()
增加给定的表达式作为文本,.html()
其添加到DOM作为HTML表达
这里是一个例子;
var str = '<strong>HELLO</strong>'
$("#addHere").text(str);
=>你会看到在#addHere
var str = '<strong>HELLO</strong>'
$("#addHere").html(str);
实际字符串
<strong>HELLO</strong>
=>你会看到一个大胆HELLO在#addHere
jQuery提供2个功能文本()和HTML()何时使用text()函数以及何时使用html()函数是相当混乱的,因为这两个函数都是不同的并且用于不同的目的。
.html() - 此jQuery函数获取/设置任何元素的HTML。 .text() - 这个jQuery函数获取/设置任何元素的文本(innertext)。
没有仅为之一是更适合于解决*特定问题*比其他比其他“更好”,一个概念。如果你需要HTML,你显然使用'.html()',如果你想要移除HTML,你显然使用'.text()'。如果你能保证他们不管回到什么地方都完全一样,那么这两种方式都没有关系。 –