0

我使用以下内容将所有具有“子”类的项目与“父”类的 div 一起包装:

$(".child").wrapAll('<div class="parent" />');

问题是该函数有时会重新运行,我不希望创建多个 div.parents'。如何在我的代码中添加条件,以便仅在 div.childs' 还没有具有“父级”类的父级时才添加 div.parent?谢谢

4

3 回答 3

1

你可以hasClass()这样使用:

if (! $(".child").parent().hasClass('parent')){
   $(".child").wrapAll('<div class="parent" />');
}

closest与 一起使用length

if (! $(".child").closest('.parent').length){
   $(".child").wrapAll('<div class="parent" />');
}
于 2012-04-23T11:42:05.857 回答
0

不知道快不快:

$(":not(.parent) > .child").wrapAll('<div class="parent" />');

没测试!!但可能有效

于 2012-04-23T11:56:21.383 回答
0

您可以在单行中完成)

$(".child").parents('p:not(.parent)').find(".child").wrapAll('');

于 2012-04-23T11:58:59.673 回答