問題タブ [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 投票する
1 に答える
1216 参照

php - PHP DOMNode insertBefore(変更不可エラー)

挿入されるノードが別のドキュメントからのものである(つまり、参照ノードおよび挿入されるノードとは異なる)DOMNodeのinsertBeforeメソッドを呼び出そうとすると、PHPランタイムがDOMExceptionを生成し、メッセージが「変更不可エラー」。

挿入されているノードについての言及が読み取り専用であることがわかりましたが、この問題に関するドキュメントはまばらなようです。

私が見つけた回避策は、別のドキュメントからのノードのクローンを作成し、そのクローンを挿入することです。例:

私の質問は2つあります:

1)挿入を実行するためにこのノードのクローンを作成する必要があるのはなぜですか?

2)これはこのアクションを実行する最も効率的な方法ですか(複製された子ノードに複数の子と孫の深い階層のいくつかのレベルが含まれている可能性があると仮定します)?

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

javascript - Javascript Clonenode()-IDで要素を取得しますか?

私はここでこのjavascriptコードをいじっています

http://jsfiddle.net/7Sd4W/4/

ID="sel0"のselect要素のクローンを作成しようとしています。

次に、クローンを作成するときに、同じselect要素を作成する必要がありますが、「sel + i」を使用すると、クローンが作成されるたびにiが増加します。

IDはsel0、sel1、sel2、sel3、sel4などになります。

変えてみました

document.getelementsbyID()

また

document.getelementsbyname()

しかし、それは機能していないようです

ありがとう

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

javascript - ノードのクローンを作成するときにスタイルを保持する方法

htmlドキュメント(本の章)を取り、それをページ(DIVの配列で、それぞれがDIVの所定の寸法内に収まるhtmlコンテンツのページを含む)に分割したいと思います。私は次のコードでDOMを歩きます(このサイトにあります!)。

func関数はtestと呼ばれ、以下にあります。

ページは正しく生成されますが、斜体、太字、ヘッダーなどのすべてのスタイルが失われます。clone(true)を実行しようとすると、多くの要素が複数回複製されます。どうすればこれを修正できますか?前もって感謝します。

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

javascript - javascript: オブジェクトとそのノードの複製

他の質問で探しているものを見つけることができなかったようです。オブジェクトとその DOM ノードを複製する方法があるかどうか疑問に思っています。私が試してみました:

ただし、これはどのノードも複製しません。

ただし、これは、複製されたノードに機能を与え、ノードに関連する大部分の情報を格納するオブジェクトを複製しません。私の意図は、ページの読み込み時に元のオブジェクトを定義し、それを複製して非表示にし、後でそのオブジェクトを再度複製できるようにすることでした。

DOM ノードのクローンを作成し、毎回オブジェクトを再作成することを検討しましたが、オブジェクトは大きく、そのすべてのプロパティとメソッドを定義するには多くのコードが必要です。

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

javascript - IE 不要な TD の改行が Javascript で動的に追加される

テーブルに行を動的に追加する JS スクリプトを作成しました。select 要素の変更時に、このスクリプトは display:none に設定された HTML div を読み取り、CloneNode(True) メソッドでこのテンプレートを複製します。次に、この新しいオブジェクトをプレースホルダー スパンの前に追加します。

ここに私のコードHTML + Javascriptがあります:

さて、私の問題は、このスクリプトを IE ブラウザー (チェックしたすべてのバージョン) で実行すると、各 TD 要素の後に新しい行で行が追加されることです。これは私が望んでいるものではなく、Chrome、Firefox、Safari などでの動作ではありません...

IE 以外のすべてを使用してhttp://www.geoemmelle.it/contatti.htmlを参照し、最初のフィールドで「Preventivo」を選択してスクリプトを起動できます。次に、IE で同じことを行い、違いを確認します。

これにアプローチする方法が本当にわかりません。この問題について知っている人はいますか?

よろしくお願いします。

編集:

私が追加したDIVのTR要素のすべてのTD要素の後に「改行」が追加されているようです。解決策を見つける方法を理解するのに何か助けてください。

再度、感謝します。

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

javascript - 要素のイベント リスナーへのアクセス/コピー/クローン作成 (または lineNumber と sourceName の編集)

シナリオ

サードパーティのサイトに少し使いやすさを追加するために、Chrome 拡張機能/ユーザー スクリプトを作成しています。拡張機能が作成されたページには、`addEventListener` (`onclick` およびその他のプロパティは空) を介して (要素ごとに、バブリングなしで) `click` イベント リスナーがアタッチされたいくつかの要素があります。私の拡張機能は、要素の 1 つを複製 (`cloneNode`) し、それをリストに追加します。

たとえば、これで、

私の拡張機能は D 要素を追加します。


問題

リストの拡張は正常に機能しますが、元のノードをクリックすると期待どおりのアクションが実行されますが、新しいノードをクリックしても何も起こりません。


テスト

テスト 1

Chrome の開発者ツールで要素のイベント リスナーを調べ、「addEventListener」を使用して無名関数を新しい要素にコピーしようとしましたが (パラメーターを複製するようにしてください)、うまくいきませんでした。期待されるアクションの一部は実行されましたが、すべてではありませんでした。

テスト 2

[この質問][1]のトリックを使用するというanfilatの提案を試しました。新しいノードの `addEventHanlder` を呼び出す `script` ブロックを挿入したところ、実際に新しいハンドラがありました (`.JS` ファイルではなく、サイト (`.JS` ファイルではなく、ページ) を参照する `sourceName` を使用)。ただし、それでも変数が見つからないというエラーがスローされました。

仮説

以下に示すように、イベント リスナーの「sourceName」と「lineNumber」で参照されるように、クリック ハンドラーが外部の「.JS」で関数を呼び出すため、ドメインの問題であると思われます。「listenerBody」は同じですが、ソースが異なることに注意してください。

質問

要素のハンドラーにアクセス、コピー、またはクローンを作成したり、`lineNumber` と `sourceName` を編集したりする方法はありますか?

付録 A: 図

図 1.JS :サイト上のを参照する元の要素のハンドラ(わずかなファイル名の編集あり):

サイト

図 2 : 拡張機能を参照する新しい要素のハンドラー:

拡大

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

jquery - $.cloneおよび.cloneNode

$.clonejQueryとraw.cloneNodeプロパティの違いについて少し混乱しています。

私がやっているなら

$('blah').cloneNode(true)これにより、jQueryスペースの外部にグローバルオブジェクトが作成されます。

使用する場合

$('blah').clone(true)これにより、jQueryスペース内にjQueryオブジェクトが作成されますが、イベントを含むすべてがコピーされますか?

jQueryを使用している場合は、それを維持する必要があります。.cloneコードを変更した場合.cloneNode、影響はありますか?

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

jquery - アラートを削除すると、2つの複製された選択ボックスがロードされません

ここに画像の説明を入力してください

いくつかの問題があります。参照テーブルの値が選択されると、selectの最初の制約が読み込まれます。

問題1-最後の2つの選択ボックス名-制約オンには、最初の制約オンからの複製オプションが必要ですが、前の選択ボックスで選択されたオプションは含まれていません。どうやってするの?

問題2 -JavaScript呼び出しで選択ボックスが読み込まれますが、これに対するアラートを追加する必要があります。なぜですか?人口2選択のコード-

母集団の最初の選択のためのコントローラーコード-

GSPページコードはこちら-

問題3-検索後、選択して入力した値を保持する必要があります(ポストバック)。

それを行う方法を助けてください?

ありがとう

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

html - 垂直マーキー削除スペース

<div>コンテンツが自動的にスクロールされるように、ページにいくつかの垂直マーキー テキストを含めたいと考えています。

次のコードが役立つことがわかりました。

ただし、内容の後に空白が追加されます。コンテンツは、テキスト全体が上にスクロールされた後にのみ表示されます (再起動のようなもの)。この空白を避ける (または削除する) にはどうすればよいですか?

私はスタックオーバーフローでそれを見つけましcloneNode()。それを実装する方法がわかりません。

*注: 高さ属性は関係ありません。親と同じ高さです<div>