4

重複の可能性:
.after() を使用して html の終了タグと開始タグを追加する

<li>同じ の前後に HTML を追加する必要があります<li>

<div>セレクターは機能しますが、HTML を追加すると、 を追加して sも閉じます</div>。開いている必要があります。

私のコード:

$('#ja-megamenu .level1').before('<div class="childcontent cols1 ">');

注: (with class="level1")<div class="childcontent cols1 ">の前にのみ追加する必要がありますli

その後、次を使用します。

 $('#ja-megamenu .level1').after('</div>');

締めくくりを加える</div>

このコードは機能しません。どうすればこれを機能させることができますか?

一日中ドキュメントを読んでいますが、まだ答えが見つかりません...

ありがとうございました :-)

4

5 に答える 5

4

要素の周りに div を追加したい場合は、jQuery の wrap()を使用してください。

$('#ja-megamenu .level1').wrap('<div class="childcontent cols1 "></div>');

しかし、あなたが抱えている問題は、divがliをラップできないことです! あなたは何か他のことをする必要があります。

于 2012-10-18T12:32:15.687 に答える
3

この HTML は有効ではありません (<li>の親は ではありません<div>) が、以下を使用できますwrap():

$("#ja-megamenu .level1").wrap("<div class='childcontent cols1' />");
于 2012-10-18T12:32:52.600 に答える
1

divまず第一にli、これは無効な操作です。

li要素はulまたはコンテナ内にある必要がolあり、その兄弟は である必要がありますli

だからあなたの構造を変えてみてください:多分div中に入れてくださいli

<ul>
    <li class="level1"><div></div></li>
    <li></li>
    <li></li>
</ul>

$('.level1').prepend('<div> Your content here</div>');
于 2012-10-18T12:37:24.237 に答える
1

前後に追加しようとしている HTML が必要な場合は、wrapを使用してみてください。

$('#ja-megamenu .level1').wrap('<div class="childcontent cols1 ">');
于 2012-10-18T12:32:41.163 に答える
1

ラップを使って...

$('#ja-megamenu .level1').wrap('<div class="childcontent cols1">');
于 2012-10-18T12:33:20.667 に答える