我需要在<li>
之前和同一<li>
之后添加一些HTML。
选择器有效,但是当它添加HTML时,它还会在添加<div>
时关闭</div>
。我需要它开放。
我的代码:
$('#ja-megamenu .level1').before('<div class="childcontent cols1 ">');
注意:
我需要在<div class="childcontent cols1 ">
之前添加li
(与class =“level1”)
然后我会用:
$('#ja-megamenu .level1').after('</div>');
添加结束</div>
此代码不起作用。我怎样才能让它发挥作用?
整天都在阅读文档,但还没找到答案......
谢谢: - )
答案 0 :(得分:4)
如果要在元素周围添加div,则不能这样做,请使用jQuery's wrap()。
$('#ja-megamenu .level1').wrap('<div class="childcontent cols1 "></div>');
但你遇到的问题是div不能包装李!你需要做点别的事。
答案 1 :(得分:3)
虽然此HTML无效(<li>
的父级不能<div>
),但您可以使用wrap()
:
$("#ja-megamenu .level1").wrap("<div class='childcontent cols1' />");
答案 2 :(得分:1)
尝试使用wrap,如果你想要你的html尝试在之前和之后添加。
$('#ja-megamenu .level1').wrap('<div class="childcontent cols1 ">');
答案 3 :(得分:1)
使用wrap ...
$('#ja-megamenu .level1').wrap('<div class="childcontent cols1">');
答案 4 :(得分: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>');