2

ページのスタイルに影響を与えずにクリックされた要素の周りにdivを作成したいので、いくつかの操作の後に挿入された親を削除する必要があります。誰かがそのようにする考えを持っていますか?

編集:JavaScriptライブラリを使用したくないことに注意してください

4

2 に答える 2

7

スタイルに影響しないことを保証することはできませんが、残りの部分については、次のようなものを試してください(クリックハンドラー関数内):

var div = document.createElement("div");
var parent = this.parentNode;
parent.insertBefore(div, this);
div.appendChild(this);

新しいdiv要素を削除したいときにまだ関数を使用している場合:

parent.insertBefore(this, div);
parent.removeChild(div);

そうでない場合は、それを再取得する必要があります。thisそのためのトリガーがあり、それでもクリックされた要素であると仮定しましょう。

var div = this.parentNode;
var parent = div.parentNode;
parent.insertBefore(this, div);
parent.removeChild(div);
于 2012-07-22T14:28:40.457 に答える
2

jQueryには、wrap()必要な処理を実行する関数があります。一般に、スタイルが変更されないことを保証することはできませんが、ページやcssを制御する場合は、問題にはなりません。

于 2012-07-22T14:28:34.793 に答える