0

我试图弄清楚为什么 createElement 和 appendChild 不起作用。我相信我的代码是正确的,所以我不太确定为什么它不起作用......(我使用的是 IE 10)

代码更新

JavaScript 文件:

var myObj = {

   firstName: "John",
   lastName: "Smith"
};

HTML 文件:

<!DOCTYPE html />
<html>
<title>The Data Structure</title>
<body>

<script type="text/javascript" src="TheData.js">

var theElement = document.createElement('p');
var theText = document.createTextNode(myObj.firstName);
theElement.appendChild(theText);
document.body.appendChild(theElement);

</script>
</body>
</html>
4

2 回答 2

2

您永远不会附加theElement到文档!在末尾再添加一行:

document.body.appendChild(theElement);

作为旁注,这个立即调用的函数是做什么用的?

(function () {
return myObj.firstName;
}());

它什么也不做!

于 2013-08-09T22:32:26.973 回答
2

问题是您srcscript标签上提供a在其中提供内容。那是无效的,你可以做一个或另一个,不能两者都做。大多数浏览器会使用src并忽略内容。

除此之外,创建元素并不会将其放入 DOM 中。您必须将其添加到某处(通过appendChildinsertBefore类似方式)。

所以也许:

<script src="TheData.js"></script>
<!-- Note: Two separate script elements -->
<script>
var theElement = document.createElement('p');
var theText = document.createTextNode(myObj.firstName);
theElement.appendChild(theText);
document.body.appendChild(theElement); // <==== Note: Adding `the Element` to the DOM
</script>
于 2013-08-09T22:42:27.733 回答