jquery包含多个元素

时间:2013-12-27 14:32:54

标签: javascript jquery

我希望使用以下代码包装元素:

$('.sltxt').wrap('<div class="wrapCheck"><input type="checkbox"><div class="chkbox"></div></div>');

我得到了这个:

<div class="wrapCheck">
    <input type="checkbox">
        <div class="sltxt">
            text
        </div>
    </input>
    <div class="chkbox"></div>
</div>

但是,我希望代码包装如下:

<div class="wrapCheck">
  <input type="checkbox">
    <div class="chkbox">
    </div>
<div class="sltxt">test</div>
</div>

有没有办法让这种情况发生? (还输入添加了不需要的</input>

编辑:经过进一步检查,我实际上需要以下代码:

<li>
     <a href="#drop2"><span class="pk-add_small"></span></a>
     <div class="wrapCheck">
         <input type="checkbox">
         <div class="chkbox"></div>
         <span class="sltxt">Κεντρική Κατηγορία 2</span>
   </div>
</li>

我有这段代码:

<li>
   <a href="#drop2"><span class="pk-add_small"></span></a>
   <input type="checkbox">
   <span class="sltxt">Κεντρική Κατηγορία 2</span>
</li>

2 个答案:

答案 0 :(得分:2)

我认为你正在寻找这个...首先在外部元素中包装,然后添加其他元素:

$('.sltxt')
    .wrap('<div class="wrapCheck"></div>')
    .before('<input type="checkbox" /><div class="chkbox"></div>');

http://jsfiddle.net/pmLdz/

答案 1 :(得分:0)

$('.sltxt').wrap('<div class="wrapCheck">')
    .parent() // traverse up to .wrapCheck then prepend the input
    .prepend('<div class="chkbox"><input type="checkbox"/></div>');

http://jsfiddle.net/nZdMD/