Как выбрать элементы, которые не имеют определенного дочернего элемента с JQuery

Есть ли селектор JQuery для выбора всех элементов, которые не имеют определенного дочернего элемента в качестве прямого дочернего элемента? Например:

text in paragraph

text in div

Я хочу выбрать только

s, как первый (без дочернего

). Это возможно?

Дополнительная информация: На самом деле я пытаюсь вставить

во все те

, у которых нет такого выражения:

 $('p').wrapInner('
')

Но это добавит дополнительный

ко второй

.

Вы можете попробовать:

 $("p:not(:has(>div))") 

Вы можете комбинировать селектор :has() [docs] с функцией not [docs], чтобы добиться этого:

 $("p").not(":has(div)").wrapInner("
");

Кроме того, вы можете использовать один селектор с помощью селектора :not() [docs] :

 $("p:not(:has(div))").wrapInner("
");

Вы можете использовать либо взаимозаменяемые, но IIRC, первый – быстрее.

Посмотрите его в действии на jsFiddle .

Обратите внимание, что div является элементом уровня блока, а p – нет. Это означает, что недействительно HTML иметь div вложенный в p .

структурные элементы внутри текстовых элементов выглядят очень нечистыми для меня, но если вы настаиваете;)

 $('p').not(":has(div)").wrapInner("
");

вот демонстрация: http://jsfiddle.net/NTpES/3/

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

 $("p").filter("not(:has(div))").wrapInner("
");

Кажется, что это работает: $('p:not("p div")')

  • Установите опцию выбора «selected», по значению
  • jQuery выбрать по classу VS выбрать по атрибуту
  • Селекторы jQuery с переменными
  • Получить список отмеченных флажков в div с помощью jQuery
  • Изменение CSS-элемента дочернего элемента при зависании родительского элемента
  • jQuery или CSS-селектор, чтобы выбрать все идентификаторы, начинающиеся с некоторой строки
  • Как я могу определить, возвращает ли селектор null?
  • Как получить доступ к свойствам стиля псевдоэлементов с помощью jQuery?
  • Случай селектора CSS для атрибутов
  • Доступ к css ": после" селектор с jQuery
  • Выберите элемент, когда имя classа начинается с определенного слова
  • Interesting Posts

    Как отключить форматирование кода для некоторой части кода с помощью комментариев?

    Рисование символа в VGA-памяти с встроенной сборкой GNU C

    Как открыть новую вкладку с помощью Selenium WebDriver с Java?

    Почему у меня возникают проблемы с назначением диапазона для массива вариантов

    Java String не работает

    Поймать исключение, вызванное асинхронным методом

    Заменяет ли Windows 8 Win7 на раздел?

    Могу ли я отражать / дублировать события мыши на обеих половинах экрана?

    Слушать кнопки регулировки громкости в фоновом режиме?

    JUnit 4 @BeforeClass & @AfterClass при использовании Suites

    Что фигурные скобки в Java означают сами по себе?

    Пожалуйста, объясните использование Обозначенных выражений

    Передача изменчивой самостоятельной ссылки на метод принадлежащего ему объекта

    Express: Как передать приложение-пример маршрутам из другого файла?

    Как защитить паролем внешний жесткий диск без его шифрования?

    Давайте будем гением компьютера.