1
私はtableとテーブルボディメソッドを見てきましたが、HTMLTableRowElement
を挿入する方法については言及していません。誰でもテーブル本体にHTMLTableRowElement
を挿入する良い方法を知っていますか?テーブル本体にHTMLTableRowElementを挿入する方法は?
const tbody = document.getElementsByTagName('tbody')[0];
// Only inserts an empty row
// Want to insert a HTMLTableRowElement that I've parsed using jsdom
tbody.insertRow();
EDIT:ガイダンス@frontend_devで jsdomは、ネイティブのDOM要素を使用していないように、それが見えます。解決策は以下のようなものに見えるかもしれだから:
let rows_rep = '';
jsdom.env(html_with_tr, function(err, w) {
rows_rep = w.document.getElementsByTagName('tr')[0].outerHTML;
}
const tbody = document.getElementsByTagName('tbody')[0];
const newRow = tbody.insertRow();
newRow.innerHTML = rows_rep;
あなたがレンダリング済みの ''
私はそれを試みましたが、 'パラメータ1はタイプ 'Node'ではないと言います。おそらくjsdomはネイティブDOM要素を使用していないでしょうか?より多くの文脈を与えるために、私は[jsdom](https://www.npmjs.com/package/jsdom)を使って別のページから要素を取得し、それらの要素を現在のページに注入しようとしています。 – Miles
jsdomはわかりませんが、一見すると、ネイティブDOMではないようです。あなたが持っている唯一のオプションは、例えば、insertRow() –
答えて
追加したい行を含むHTML文字列を考えると、あなたは
jsdom
せずにその行を取得し、現在のドキュメント内のテーブルにそれを追加することができます出典
2016-07-16 23:15:40 trincot
ありがとうございました。あなたは正しいです。必要はありません。当初はBeautifulSoupに似たものを探していましたが、この方法ははるかにクリーンです。 – Miles
関連する問題