4

さて、私はこのサイトをかなり検索しましたが、答えが見つからないようですので、より良い理由で同じ質問をするつもりです。jqueryを使用して開始divタグを追加しようとしています。アフターを使おうとすると。jqueryは私が望むようなタグをネイティブに作成するのが好きではないことを理解しています。ただし、状況は次のとおりです。

フォームを表示するために使用している動的フォームジェネレーターがあります。フォーム内からセクションヘッダーとして使用しているヘッダーがいくつかあります。jqueryアコーディオンを使用したいのですが、div要素がアコーディオンフレームの内容をラップしているのを確認したいのですが、。の直後に表示したいのです。問題は、開始divタグと終了divタグの間にある要素の数が動的であるということです。だから私は何かを包んでそれで終わらせることはできません。私がやりたいのは次のようなものです。

<h3>Section 1</h3>

...ここの動的コードセクション

<h3>Section 2</h3>

jqueryを使用して、次のような結果になりたいと思います。

<h3>Section 1</h3>
<div>

ここの動的コードセクション

</div>
<h3>Section 2</h3>
<div>

より動的なコード

</div>

知っている要素(h3タグ)を見つけて、htmlを挿入できることを知っています。問題は、jqueryが私を許可しないことです。どうやらそれは私自身で物事のバランスをとるのに十分なほど私を信頼していません。誰かがこれを機能させる方法について何かアイデアがありますか?

4

2 に答える 2

9

使用する.wrapAll()

$('h3').each(function(){
   $(this).nextUntil('h3').wrapAll(document.createElement('div'));
});

デモ:http://jsfiddle.net/ph8D2/

于 2012-11-27T00:53:01.573 に答える
3

いいえ、開始タグまたは終了タグを挿入することは文字通り不可能です。神に感謝します。あなたを妨げているのはjqueryではなく、DOMAPIです。有効なエンティティではないため、開始タグを挿入しても意味がありません。

次のようなことをするだけです

<h3>Section 1</h3>
<div class="dynamic">

</div>

$('.dynamic').html( .. your dynamic content ..)
于 2012-11-27T00:55:36.837 に答える