javascript - 請教,用原生js插入html的問題
给我你的怀抱
给我你的怀抱 2017-06-26 10:58:39
0
3
1048

##報錯訊息: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);
        };
    })();
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!