如何使用jquery选择器添加一个打开的div标签?

时间:2012-10-18 12:30:52

标签: javascript jquery jquery-selectors

  

可能重复:
  Using .after() to add html closing and open tags

我需要在<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>

此代码不起作用。我怎样才能让它发挥作用?

整天都在阅读文档,但还没找到答案......

谢谢: - )

5 个答案:

答案 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元素必须位于ulol容器中,其兄弟姐妹必须为li

因此请尝试更改您的结构:可以将div放在li

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

$('.level1').prepend('<div> Your content here</div>');