問題タブ [clonenode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
3061 参照

javascript - cloneNode がカスタム プロパティを除外するのはなぜですか?

これは、質問javascript cloneNode and propertiesに関連しています。

同じ動作が見られます。Node.cloneNode は、自分で追加したプロパティをコピーしません (元の投稿のコード):

theCloneプロパティ「独裁者」は含まれていません。

なぜそうなのかについての説明を見つけることができませんでした。MDNのドキュメントには、cloneNode「すべての属性とその値をコピーする」と記載されています。この行は、DOM 仕様自体から直接引用されています。

これは、カスタム プロパティを含む DOM ツリーのディープ コピーを行うことがほとんど不可能になるため、私には壊れているように思えます。

ここで何か不足していますか?

0 投票する
2 に答える
3054 参照

javascript - 子の属性を設定する
複製されたノード内

ノードのクローンを作成しましたが、そのクローンノード内のdivの属性を設定または変更したいのですが、具体的にはiddiv id="test0"

私はこれに関するドキュメントを見つけることができません、そこにいるまっすぐなJavaScriptの人は解決策を知っていますか?

私が行っているのは、アイテムの大きなリストをループし、これらのアイテムをドキュメントフラグメントに配置し、それを一度ページにプッシュすることです...各要素をページに追加し、添付後に変更するのではなく、これを実行していますDOMへ(どちらが速いでしょう?)

0 投票する
1 に答える
489 参照

javascript - cloneNodeが機能しない後にinnerhtmlを変更する

約50行のテーブルがあります。各行の最後のセルは画像であり、クリックすると、その特定の行の各セルにテキストボックスが表示されるため、ユーザーは値を編集できます。このために、画像をクリックするだけでJavascriptを記述しました。その特定の行に目を通し、各tdのinnerHTMLを変更してテキストボックスを作成します。

これは正常に機能します。私がやりたかった2番目のステップはソートでした。

テーブルのヘッダーをクリックすると、テーブルが並べ替えられます。そして、ソートJavaScriptは次のようになります。すべての行を取得し、それを古いインデックス(行番号)の配列に入れて、並べ替えを実行します。次に、配列をループして、新しいソートされたtbodyを作成します。テーブルの古いソートされていないtbodyは、この新しいソートされたtbodyに置き換えられます。

これも問題なく動作します。

しかし、問題は、最初の部分で説明したように、最後のセルの画像ボタンをクリックしても機能しないことです。そのjavascript関数にデバッガーを配置すると、そこにヒットしてテキストが形成され、最後のtdのinnerHTMLに割り当てられますが、ページにテキストボックスが表示されません。

要約すると、テキストボックスは並べ替えの前にinnerHTMLとして挿入されますが、cloneNodeで並べ替えを行い、新しい並べ替えられたtBODYを作成してテーブルに挿入した後、innerHTMLの割り当てが機能しません。

どんな助けでも大歓迎です。

0 投票する
1 に答える
1842 参照

javascript - javascriptはクローンノードの親テーブルを削除します

保存したテーブルを復元すると、元のテーブルの下に同じテーブルの複製が作成されるため、JavaScriptでクローンノードの親を削除しようとしています。したがって、元のテーブルを削除して、子テーブルを表示する必要があります。

ここで見つけたこのメソッドも別のスレッドで試しましたが、使用しようとすると、残りのJavaScriptが機能しなくなります。

前もって感謝します

0 投票する
0 に答える
185 参照

internet-explorer-7 - cloneNode が IE7 で動作しない

入力フィールドを持つ複数の行を含むテーブルがあります。2 行目または 3 行目のクローン コピーを作成したいのですが、コードはここにあります。このコードは他の主要なブラウザーでは機能しますが、IE7 では機能しません function deleteRow(row) { var x=document.getElementById('rowcontainer');

0 投票する
1 に答える
946 参照

javascript - cloneNode() JS call not working in Safari

I am using cloneNode() it's working fine in IE but it's not working in Safari.

where vehicleDom type is IXMLDOMDocument2.

vehicleDOM.cloneNode(true) giving null in safari.

0 投票する
2 に答える
504 参照

javascript - 子ノードを追加する順序は重要ですか?

次のコードがあります。

closeButton を span に追加する前に、closeIcon を closeButton に追加するとどうなりますか? 違いはありますか?また、js を使用して DOM に挿入されたクローン ノードと、html でハードコードされたノードとの間に違いはありますか?