我有以下内容:
var myArray = [];
myArray.push("one", " two");
document.getElementById("write").innerHTML = myArray;
输出:一,二
我想用 jQuery 尝试一下:
$("#write").html(myArray);
我得到:一二
它省略了逗号。
为什么?
我见过someone suggest .html()
应该用于 .innerHTML()
并且它的工作原理是一样的,但是如果 jQuery 版本遗漏了一些小细节,那还有什么意义呢?
Then I found this post其中表示“但是,.text()
函数将更改指定元素的(文本)值,但保留 html 结构。”
这就是为什么在这种特殊情况下 .text()
似乎比 .html()
效果更好吗?因为 .text()
保留了结构?
最佳答案
JQuery .html()
方法依次调用 .innerHTML()
JavaScript 函数。因此,大多数情况下,除 IE 之外的所有浏览器的行为都应该相同。
检查从 http://api.jquery.com/html 中提取的信息
此方法使用浏览器的innerHTML 属性。某些浏览器可能不会返回完全复制原始文档中 HTML 源的 HTML。例如,如果属性值仅包含字母数字字符,则 Internet Explorer 有时会省略属性值周围的引号。
查看 jquery 站点上的 .html()
文档,了解更多相关信息。
关于javascript - jQuery .html 与 .text,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32652025/