Jquery 选择除特定div和内部所有内容之外的所有内容
我试着把身体里的所有东西都放在另一个div里,除了一个div ID和里面的所有东西。我试过这个:Jquery 选择除特定div和内部所有内容之外的所有内容,jquery,jquery-selectors,Jquery,Jquery Selectors,我试着把身体里的所有东西都放在另一个div里,除了一个div ID和里面的所有东西。我试过这个: $('div:not(#dontselect)').wrap('<div class="wrapper" />'); 它可以正常工作,但dontselect中的所有内容也都被包装在.wrapper类中。我希望dontselect和它里面的一切都保持原样。有什么帮助吗?您可以添加另一个:不是: 这将排除dontselect的所有div子代。是否需要包装div子代? 仅选择主体中的div而
$('div:not(#dontselect)').wrap('<div class="wrapper" />');
它可以正常工作,但dontselect中的所有内容也都被包装在.wrapper类中。我希望dontselect和它里面的一切都保持原样。有什么帮助吗?您可以添加另一个:不是:
这将排除dontselect的所有div子代。是否需要包装div子代? 仅选择主体中的div而不使用其子对象
$('body > div:not(#dontselect)').wrapp('<div />');
您也可以分3步完成
$('body')
.find('div') // step 1, find all divs
.filter('#dontselect') // step 2, add class 'no-wrapp'
.addClass('no-wrapp')
.find('div').addClass('no-wrapp')
.end().end()
.filter('div:not(.no-wrapp)').wrap('<div class="wrapper" />'); // step 3 wrap
然后,您可以仅对不换行的div使用类“no wrap”尝试以下操作:
$'div:notdontselect*'在混合中选择另一个:
$'div.filterfunction{return!$this.parents'dontselect.length}
使用dontselect父元素过滤掉所有元素。这对大多数元素都有效,但对于HTML:root,我搜索了一下,如果有人需要,我发现了这个有用的解决方案,除了:root选择器中的一些元素。
$('body')
.find('div') // step 1, find all divs
.filter('#dontselect') // step 2, add class 'no-wrapp'
.addClass('no-wrapp')
.find('div').addClass('no-wrapp')
.end().end()
.filter('div:not(.no-wrapp)').wrap('<div class="wrapper" />'); // step 3 wrap