【发布时间】:2019-01-12 18:43:06
【问题描述】:
Javascript createElement() 在 Chrome 中无法运行,但在 IE 和 Firefox 中运行良好。为什么?
【问题讨论】:
-
@david,这应该是一个答案,而不是评论;-)
-
不管是什么问题都解决不了。这是一个“关闭:不是一个真正的问题”的问题,而不是一个“这是解决方案”的问题。
Javascript createElement() 在 Chrome 中无法运行,但在 IE 和 Firefox 中运行良好。为什么?
【问题讨论】:
var name = document.createElement("Div" );
会起作用。稍后您可以添加类似的属性
name.colSpan="2";
document.body.appendChild(name);
注意:不要尝试使用像createElement("<div />") 这样的尖括号。
它在 Chrome 中不起作用。
编辑:上述代码中的语法问题已修复。应该有一个点而不是逗号。
【讨论】:
它运行良好,使用以下代码:
var catDiv = document.createElement("div");
catDiv.innerHTML = "Test";
document.body.appendChild(catDiv);
另一个工作示例(如果您的 HTML 中有一个 Id = myTableBody 的元素)
var appendingTo = document.getElementById("myTableBody");
var tr = document.createElement("tr");
tr.setAttribute("name", "i");
appendingTo.appendChild(tr);
【讨论】:
t = document.createElement('tr');,然后再设置属性。第二:表格行无论如何都没有name 属性。您应该将代码添加到您的问题中,以便人们可以真正帮助您。
因为你的代码乱七八糟,所以“createElement”没有错:
<html>
<head>
<meta charset = "utf-8">
<title></title>
<script>
window.onload = function () {
for (var i = 0; i < 100; i ++) {
var div = document.createElement ("div");
div.style.border = "1px solid black";
div.style.margin = "20px";
div.style.padding = "10px";
document.body.appendChild (div);
}
}
</script>
<style></style>
</head>
<body></body>
</html>
【讨论】:
请参阅我对this 问题的回答。我有一个类似的问题。我正在使用 createElement 创建新的输入框并且遇到了同样的问题。
【讨论】:
所以我也无法让 createElement() 在 chrome 中工作。在阅读了 Caio 的 帖子并测试了提供的代码后,我发现我做错了什么。
在 w3schools.com 上,他们提供的示例始终使用全部大写的 标签名称。 createElement("DIV"),这是我使用它的方式,但效果不佳。
在我自己的代码中从 "DIV" 更改为 "div" 后,它立即生效。
谢谢蔡欧。
【讨论】: