javascript - 请教,用原生js插入html的问题
给我你的怀抱
给我你的怀抱 2017-06-26 10:58:39
0
3
1067

报错信息:Uncaught TypeError: Failed to execute 'insertBefore' on 'Node': parameter 1 is not of type 'Node'.

我想在触发addChild方法的时候,在对应的tr之后拼接字符串,请问addChild应该怎么写才对呢

-----更新

回答的各位朋友,谢谢了,问题解决了,用了一楼的方法

给我你的怀抱
给我你的怀抱

全部回复(3)
小葫芦

第一个参数要求是Dom节点不是字符串

试试 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);
        };
    })();
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板