一些或多个人使用html()方法获取元素的文本,如<p>text</p>
,并获得此$('p').html()
或$('p').text()
。
显然我知道html方法和文本方法之间存在巨大差异。但我想更多地了解这个背景,使用哪个更好?
有人可能会说文本方法比html方法更好,请解释原因?
答案 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 <span>
如果您想设置HTML或获取原始转义HTML,则应使用.html()
;
答案 2 :(得分:0)
有人喜欢使用何时以及为何使用html和/或文本方法,但我想告诉你html()方法比text()方法更快:
html方法只是innerHTML的一个包装,但是用文本方法jQuery添加一个“实体过滤器”,这个过滤器扩展时间。
那么,您要使用哪一个?
答案 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)。