关于appendChild的Javascript问题

关于appendChild的Javascript问题,javascript,html,dom,Javascript,Html,Dom,我只是在学习javascript,我只是想知道为什么这不起作用。我创建了一个按钮,当它被点击时,我分配了一个函数,该函数应该在我的所有段落中添加一些文本。我不知道为什么它不起作用: <html> <head> <title>javascript test</title> </head> <body> <script language="javascript" type="text/javascript"> fu

我只是在学习javascript,我只是想知道为什么这不起作用。我创建了一个按钮,当它被点击时,我分配了一个函数,该函数应该在我的所有段落中添加一些文本。我不知道为什么它不起作用:

<html>
<head>
<title>javascript test</title>
</head>
<body>
<script language="javascript" type="text/javascript">

function appendStuff(){
 var node = document.getElementsByTagName("P");
 node.appendChild.createTextNode('Here's some text');

 return true;
 }

</script>
<noscript>
Your browser doesn't support javascript.
</noscript>

<input type="submit" value="click me" onclick="appendStuff();" />

<p>
This is the first paragraph.
</p>

<p>
This is the second paragraph.
</p>

<p>
This is the third paragraph.
</p>

</body>
</html>

javascript测试
函数appendStuff(){
var节点=document.getElementsByTagName(“P”);
node.appendChild.createTextNode('这里有一些文本');
返回true;
}
您的浏览器不支持javascript。

这是第一段。

这是第二段。

这是第三段。


您应该将新节点作为参数传递给appendChild方法,如下所示:

var nodes = document.getElementsByTagName("P");
for(var i=0; i<nodes.length; i++) {
   nodes[i].appendChild(document.createTextNode("Here's some text"));
}
var nodes=document.getElementsByTagName(“P”);

对于(var i=0;i您应该将新节点作为参数传递给appendChild方法,如下所示:

var nodes = document.getElementsByTagName("P");
for(var i=0; i<nodes.length; i++) {
   nodes[i].appendChild(document.createTextNode("Here's some text"));
}
var nodes=document.getElementsByTagName(“P”);

对于(var i=0;idocument.getElementsByTagName返回元素列表(数组),而不是仅返回一个,您必须选择要追加的元素(即节点[0])

document.getElementsByTagName返回元素列表(数组),而不是仅返回一个,您必须选择要追加的元素列表(数组)(即节点[0])document.getElementsByTagName返回已获取dom的“数组”,而不是一个dom。因此,您需要使用此数组的for循环或类似的东西指定单个dom。

document.getElementsByTagName返回已获取dom的“数组”,而不是一个dom。因此,您需要使用此数组的for循环或类似的东西指定单个dom。

尝试此操作>
<html>
<body>
<script language="JavaScript">
function function11() {
   var myNode = document.createTextNode("New Text Node");
   document.body.appendChild(myNode);
}
</script>
<button onclick="function11();">Create text node</button>
</body>
</html>

功能11(){
var myNode=document.createTextNode(“新文本节点”);
document.body.appendChild(myNode);
}
创建文本节点
试试这个

<html>
<body>
<script language="JavaScript">
function function11() {
   var myNode = document.createTextNode("New Text Node");
   document.body.appendChild(myNode);
}
</script>
<button onclick="function11();">Create text node</button>
</body>
</html>

功能11(){
var myNode=document.createTextNode(“新文本节点”);
document.body.appendChild(myNode);
}
创建文本节点
试试上面的方法

> <script language="javascript"
> type="text/javascript">
试试上面的方法

> <script language="javascript"
> type="text/javascript">
正如其他人指出的,getElemetsByTagName返回一个live,它有一个length属性,其成员可以通过索引访问

可以使用以下方法将文本元素附加到节点列表中的第一个节点:

  node[0].appendChild(document.createTextNode("Here's some text"));
但是,在尝试调用其方法之一之前,首先查看节点[0]
是否存在要安全得多

> <noscript> Your browser doesn't
> support javascript. </noscript>

>onclick=“appendStuff();”/>
类型为submit的输入用于表单中并用于提交表单。此处类型属性的更合适值为“button”。并且不需要XML样式的结束标记

正如其他人指出的,getElemetsByTagName返回一个live,它有一个length属性,其成员可以通过索引访问

可以使用以下方法将文本元素附加到节点列表中的第一个节点:

  node[0].appendChild(document.createTextNode("Here's some text"));
但是,在尝试调用其方法之一之前,首先查看节点[0]
是否存在要安全得多

> <noscript> Your browser doesn't
> support javascript. </noscript>

>onclick=“appendStuff();”/>

类型为submit的输入用于表单中并用于提交表单。此处类型属性的更合适值为“button”。并且不需要XML样式的结束标记。

在createTextNode函数中这样使用“here's some text”(此处有一些文本)您能准确解释此行的作用吗:for(var i=0;igetElementsByTagName返回数组。使用for循环,我迭代所有段落节点并附加“这里有一些文本”nodes.length的作用是什么?nodes是数组。它的属性length包含数组中的元素数。nodes.length返回由getElementsByTagName方法返回的段落元素数。在createTextNode函数中这样使用“Here's some text”(这里有一些文本)您能准确解释这一行的作用吗:for(var i=0;igetElementsByTagName返回数组。使用for循环,我迭代所有段落节点并附加“这里有一些文本”nodes.length具体做什么?nodes是数组。它的属性length包含数组中的元素数。nodes.length返回由getElementsByTagName方法返回的段落元素数。getElementsByTagName返回一个活动的NodeList,它是DOM元素的集合。它不是数组。getElementsByTagName返回live NodeList,它是DOM元素的集合。它不是数组。getElementsByTagName返回live NodeList,它是DOM元素的集合。它不是数组。getElementsByTagName返回live NodeList,它是DOM元素的集合。它不是数组。