<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style type="text/css">
.message{
width:200px;
height:100px;
color:blue;
background-color:#CCC;}
</style>
</head>
<body>
<script type="text/javascript">
var pNode = document.createElement("p");
var textNode = document.createTextNode("I love JavaScript!");//另外这个方法可以不传参数吗
pNode.className = "message";
//textNode.innerHTML = "I love JavaScript";//上面不传参,用这个但没用
document.body.appendChild(pNode.appendChild(textNode));
</script>
</body>
</html>
3 回答
已采纳
stone310
TA贡献361条经验 获得超191个赞
22行那句括号分割错了,并不是没有返回值;pNode.appendChild(textNode)的返回值就是textNode,是一个对象;
这么写相当于先执行pNode.appendChild(textNode);返回textNode,因此22行这句就相当于
document.body.appendChild(textNode)
括号删掉,链式写就可以了,
document.body.appendChild(pNode).appendChild(textNode);
至于createTextNode()参数是必须的,可以设为空值"";
textNode.innerHTML这种写法是获取不到值的,textNode是个文本节点,而innerHTML是针对元素节点获取;
可以写成pNode.innerHTML
去看天荒地老
TA贡献30条经验 获得超5个赞
因为你document.body.appendChild(pNode.appendChild(textNode));这句错了,pNode.appendChild(textNode);没返回值,要改成pNode.appendChild(textNode);document.body.appendChild(pNode);
添加回答
举报
0/150
提交
取消