当前位置: 代码迷 >> JavaScript >> appendChild不起作用了?该如何处理
  详细解决方案

appendChild不起作用了?该如何处理

热度:258   发布时间:2013-03-01 18:33:02.0
appendChild不起作用了?
<div id="placeholder"></div>
        
var placeholder=document.getElementById("placeholder");
        var description="test";
placeholder.appendChild(description);

,为什么第二行代码就是不生效。。。。求解!

------解决方案--------------------
<!DOCTYPE HTML>
<html>
<head>
<meta charset="gbk" />
<title></title>

</head>
<body>
<div id="placeholder"></div> 

<script type="text/javascript">
var placeholder = document.getElementById("placeholder");
var description = "test";
placeholder.innerHTML = description;

// 或者

var textNode = document.createTextNode('test123');
placeholder.appendChild( textNode )



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


------解决方案--------------------
方法一:
var placeholder=document.getElementById("placeholder");
var description=document.createTextNode('test');
placeholder.appendChild(description);

方法二:
var placeholder=document.getElementById("placeholder");
var description="test";
placeholder.innerHTML=description;
------解决方案--------------------
appendChild()方法添加的是节点元素,文本元素,如果只是添加test这个值,应该先调用 createTextNode()方法 ,创建文本,然后在添加这个文本 
------解决方案--------------------
大家都是从初学过来的,能理解楼主的难处。试着解释下,不知有没有用。

JS 编程需要了解 HTML 的 DOM (document object model) 概念。网页上显示的东西大都可以看做 DOM 对象。这些对象又都相互关联,组成树形结构,其中每个对象叫做一个结点(node)。你现在做的 appendChild 就是把一个结点设置成另一结点的子结点,但并非什么东西都能当作结点来操作,所以楼上两位把你的字符串转换成文本结点来处理。
  相关解决方案