jQuery如何通过LABEL标签包装表单输入和下一个文本?

时间:2013-03-14 05:46:13

标签: jquery textwrapping

我有这个:

...
<input type="checkbox" />
AAA
<p>BBB</p>
<div>CCC</div>
...

并希望通过LABEL标记包装输入和下一个文本,如下所示:

...
<label>
    <input type="checkbox" />
    AAA
</label>
<p>BBB</p>
<div>CCC</div>
...

我怎么能通过jQuery做到这一点?

1 个答案:

答案 0 :(得分:0)

$('.parent').contents().filter(function(){
     return this.localName === 'input' || this.nodeType === 3;
}).wrapAll('<label></label>');

http://jsfiddle.net/Cja4H/

或者:

$('input[type=checkbox]').each(function(){
   $(this).add(this.nextSibling).wrapAll('<label/>');
});

http://jsfiddle.net/BkpgX/