84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
报错信息:Uncaught TypeError: Failed to execute 'insertBefore' on 'Node': parameter 1 is not of type 'Node'.
我想在触发addChild方法的时候,在对应的tr之后拼接字符串,请问addChild应该怎么写才对呢
-----更新
回答的各位朋友,谢谢了,问题解决了,用了一楼的方法
第一个参数要求是Dom节点不是字符串
试试 insertAdjacentHTML
insertAdjacentHTML
tpl是个字符串,不是一个node对象,所以报错;你可以利用事件冒泡,把addChild方法写在tr或者tbody上(依据是否是每个tr都需要这个方法),然后利用event对象的target属性来找到对应的tr,然后进行后面操作就可以了;
报错信息很明显了,tpl是一个字符串,不是一个node元素
https://developer.mozilla.org...
你得把字符串转成dom
比如类似这样的函数,来讲字符串转成dom,代码仅做参考
var toElement = (function(){ var p = document.createElement('p'); return function(html){ p.innerHTML = html; var el = p.firstChild; return p.removeChild(el); }; })();
第一个参数要求是Dom节点不是字符串
试试
insertAdjacentHTML
tpl是个字符串,不是一个node对象,所以报错;
你可以利用事件冒泡,把addChild方法写在tr或者tbody上(依据是否是每个tr都需要这个方法),
然后利用event对象的target属性来找到对应的tr,然后进行后面操作就可以了;
报错信息很明显了,tpl是一个字符串,不是一个node元素
https://developer.mozilla.org...
你得把字符串转成dom
比如类似这样的函数,来讲字符串转成dom,代码仅做参考