【发布时间】:2015-12-15 14:28:55
【问题描述】:
我有以下几点:
var myArray = [];
myArray.push("one", " two");
document.getElementById("write").innerHTML = myArray;
哪个输出:one, two
我想用 jQuery 试试:
$("#write").html(myArray);
我得到了:one two
省略了逗号。
为什么?
我看到someone suggest 应该使用.html() 而不是.innerHTML() 并且它的工作原理相同,但是如果jQuery 版本遗漏了一些小细节,那有什么意义呢?
Then I found this post 表示“但是,.text() 函数将更改指定元素的(文本)值,但保留 html 结构。”
这就是为什么.text() 在这种特殊情况下似乎比.html() 工作得更好吗?因为 .text() 保留了结构?
【问题讨论】:
-
jQuery.html() 将字符串视为 HTML,jQuery.text() 将内容视为文本。
-
This answer here 可能会帮助您了解
.html和.innerHTML之间的区别,this answer here 将解释.html之间的区别和.text -
$('#write').html(myArray.toString());将解决问题 -
这个Fiddle显示了
.html、.text和.val的区别。
标签: javascript jquery