JS 中的 createTextNode 在 Chrome 中不起作用
Posted
技术标签:
【中文标题】JS 中的 createTextNode 在 Chrome 中不起作用【英文标题】:createTextNode in JS is not working in Chrome 【发布时间】:2013-05-09 02:35:14 【问题描述】:我正在尝试一个简单的练习,我想在其中添加一个
,由 javascript 生成到 id 为“target-area”的 div。 问题是 Chrome 拒绝注入这一段并给我一个错误: Uncaught TypeError: Object # has no method 'createTextNode'
代码如下:
<html>
<head>
<title>JS</title>
</head>
<body>
<div id="target-area">
<p id="tagline">Hello World!</p>
</div>
</body>
<script type="text/javascript">
// store the target area to a variable to keep things neat
var targetArea = document.getElementById("target-area");
// create our <p> element
var p = document.createElement("p");
// create a text node inside the <p>, note that we're using a variable "p" here
var snippet = p.createTextNode("this was a generated paragraph");
// insert our generated paragraph into the DOM
targetArea.appendChild(snippet);
</script>
</html>
谢谢!
【问题讨论】:
【参考方案1】:document 具有 createTextNode 属性,而不是刚刚创建的元素
所以基本上你的代码应该是这样的..
// store the target area to a variable to keep things neat
var targetArea = document.getElementById("target-area");
// create our <p> element
var p = document.createElement("p");
// create a text node inside the <p>, note that we're
// using a variable "p" here
var snippet = document.createTextNode("this was a generated paragraph");
// insert our generated paragraph into the DOM
p.appendChild(snippet);
targetArea.appendChild(p);
Check Fiddle
【讨论】:
那么我应该如何修改代码呢?我尝试了一切,甚至更多,我正在从一本 JS 书中复制它......【参考方案2】:只是出于好奇。
为什么不简单呢?
// store the target area to a variable to keep things neat
var targetArea = document.getElementById("target-area");
// create our <p> element
var p = document.createElement("p");
// create a text node inside the <p>, note that we're
// using a variable "p" here
var snippet = document.createTextNode("this was a generated paragraph");
// insert our generated paragraph into the DOM
targetArea.appendChild(snippet);
【讨论】:
以上是关于JS 中的 createTextNode 在 Chrome 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
javascript 在 createTextNode 中用 <br> 替换 \n