羽間空冶

百度贴吧recorderfan

【添加子节点】操作:合并书写的小bug?

刚才做JavaScript练习,尝试添加子节点的时候,查到了这么一段代码:

<script>
  var para=document.createElement("p");
  var node=document.createTextNode("这是新段落。");
  para.appendChild(node);

  var element=document.getElementById("div1");
  element.appendChild(para);
</script>

(源自:https://www.w3school.com.cn/js/js_htmldom_elements.asp)

由于一时偷懒,想直接合并起来写成一行,于是……

var para=document.createElement("p").appendChild(document.createTextNode("这是新段落。"));

结果发现一个问题,原本分开书写的方式,结果会是

<div>
  <p>这是新段落。</p>
</div>

嗯,挺合情合理的……

但是合并书写了之后……变成了

<div>
  "这是新段落。"
</div>

检查了一番,发现问题如下:

如果直接在定义元素(比如“p”)的时候就对其进行【appendChild()】操作,则会让元素的类型直接变成“child”的类型。比如在这个例子里,就成了[object Text]

目前的理解暂时是这样的,先做个记录吧~

评论
热度(1)

© 羽間空冶 | Powered by LOFTER