javascript - jQuery .html 与 .text

标签 javascript jquery

我有以下内容:

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/

相关文章:

javascript - 给定相同键/值的关联数组中的连接值

javascript - 将 Google map 缓存到服务器

javascript - 如何从 jquery 的 hover 函数中获取 <li> 的值?

javascript - 使 var 值在按钮单击中可用

javascript - 首先为 Selenium 设置事件监听器

jquery - 使用 jsonpath 进行字符串搜索

javascript - $ (".anything".click() 和 $ (".anything").bind(click) 有什么区别

javascript - 如何将foreignObject附加到svg图像

javascript - 构建仅用于 Chrome 应用程序的开发和运行时的 Vue

javascript - 第二次单击时它会关闭 DIV,为什么?