Выберите все, кроме конкретного div и все внутри - PullRequest
0 голосов
/ 09 июля 2011

Я пытаюсь обернуть все внутри тела в другой div, кроме одного идентификатора div и всего внутри него. Я попробовал это:

$('div:not(#dontselect)').wrap('<div class="wrapper" />');

Это работает, но все внутри #dontselect также оборачивается в классы .wrapper. Я хочу, чтобы #dontselect и все внутри оставалось таким, каким он был. Любая помощь?

Ответы [ 5 ]

0 голосов
/ 22 ноября 2013

Еще один в миксе:

$('div').filter(function(){ return !$(this).parents('#dontselect').length })

Отфильтровывает все элементы с родительским элементом #dontselect.

0 голосов
/ 14 мая 2013

Попробуйте это:)

$('div:not(#dontselect *)')

0 голосов
/ 09 июля 2011

тебе нужно завернуть в div ребенка? чтобы выбрать только div в теле без использования дочерних элементов

$('body > div:not(#dontselect)').wrapp('<div />');
0 голосов
/ 09 июля 2011

вы также можете сделать это в 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

, тогда вы можете использовать класс 'no-wrap' только для тех div, которые не переносят

0 голосов
/ 09 июля 2011

Вы можете добавить еще :not:

$('div:not(#dontselect):not(#dontselect div)')

Это исключает всех div потомков #dontselect.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...