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,程式碼只做參考