我将如何使用wrap()在一个< div>?中包装多个元素(不同的类)。
例如,在我正在工作的表单上有一个大列表的复选框输入和标签的形式:
<input> <label> <input> <label>
等等
我想包装一个< div>围绕输入和标签,因此结果将是:
<div> <input> <label> </div> <div> <input> <label> </div>
谢谢!
解决方法
您可以使用.wrapAll()方法。
$('form > input').each(function(){
$(this).next('label').andSelf().wrapAll('<div class="test"/>');
});
如果您的标记总是具有完全相同的顺序,我想使用:
var $set = $('form').children();
for(var i=0,len = $set.length; i < len; i+=2){
$set.slice(i,i+2).wrapAll('<div class="test"/>');
}
应显着更快。
参考:.wrapAll(),.andSelf(),.slice()