jQuery中的text()和html()函数有什么区别?

$("#div").html('<a href="example.html">Link</a><b>hello</b>');

vs

$("#div").text('<a href="example.html">Link</a><b>hello</b>');

当前回答

简单来说。

Html()——获取内部Html (Html标签和文本)。

Text()——如果内部存在,则只获取文本(只获取文本)

其他回答

实际上,两者看起来有点相似,但却有很大的不同,这取决于你的用法或你想要达到的目的,

使用地点:

使用. HTML()对含有HTML元素的容器进行操作。 使用.text()修改元素的文本,通常有单独的打开和 结束标签

不使用的地方:

.text()方法不能用于表单输入或脚本。 .val()用于输入或文本区域元素。 .html()表示脚本元素的值。 从.text()中获取html内容将把html标记转换为html实体。

的区别:

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

检查jsfiddle上的这个示例,以查看操作上的差异

例子

var v = "&#x5168;&#x540D;";
$("#div").html(v); //display as "全名"
$("#div").text(v); //display as "&#x5168;&#x540D;"

text()——该方法设置或返回所选元素的文本内容。 html()——该方法设置或返回所选元素的内容。 参考示例:https://www.tutorialspoint.com/online_jquery_editor.php

当您打算将值显示为简单文本时,请使用.text(…)。

当您打算将值显示为html格式的文本(或html内容)时,使用.html(…)。

当你不确定你的文本(例如来自输入控件)不包含在HTML中有特殊意义的字符/标记时,你一定要使用.text(…)。这是非常重要的,因为这可能会导致文本不能正常显示,但也可能导致不需要的JS脚本片段(例如来自另一个用户输入)被激活。

奇怪的是,没有人提到.text()相对于.html()的跨站点脚本预防好处(尽管其他人刚刚提到。text()转义数据)。

当你想要更新DOM中的数据时,总是建议使用.text(),这只是用户可以看到的数据/文本。

. HTML()应该主要用于获取div中的HTML内容。

**difference between text()&& html() && val()...?
#Html code..
<select id="d">
<option>Hello</option>
<option>Welcome</option>
</select>
# jquery code..
$(document).ready(function(){
   $("#d").html();
   $("#d").text();
   $("#d").val();

});