DOM向HTML中添加元素Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'问题

问题:Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'

原因:appendChild的参数为node节点,导致这样的问题说明当前的参数不是node,有可能是字符串。

例如:

这时dom是字符串

解决方法:

var dom=document.createElement('p');
dom.className='book';
dom.innerHTML='hello world'; document.body.appendChild(dom);

此时dom为node。

 

如果添加的元素是字符串,使用document.createTextNode()创建节点。

var dom=document.createTextNode('hello world');

 在HTML中的效果:

 

posted @ 2019-05-23 16:34  程嘿嘿  阅读(49212)  评论(0编辑  收藏  举报