createTextNode в JS не работает в Chrome
Я пытаюсь выполнить простое упражнение, в котором я хочу добавить
, генерируется JavaScript для div с идентификатором "target-area". Проблема в том, что Chrome отказывается вставлять этот абзац и выдает ошибку: Uncaught TypeError: У Object # нет метода '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>
Спасибо!
2 ответа
документ имеет свойство 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);
Просто из любопытства.
Почему не просто?
// 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);