Содержание
4 Rouge [2012-09-10 19:39:00]
Я пытаюсь подсчитать, сколько элементов с классом .test внутри моего div. У меня
Я не могу получить правильное число div с тестом имени класса.
6 ответов
Измените селектор следующим образом:
Поместите space между #testDiv и .test .
$(‘#testDiv .test’) найдет прямых детей #testDiv , у которых >.
Полный код:
Примечание
$(‘#testDiv.test’) означает, что вы выбираете элемент, который имеет как >, так и >, как
Попробуйте добавить пробел между #testDiv и .test
У вас есть, как показано ниже,
3 Marc B [2012-09-10 19:41:00]
Вы ищете элемент с идентификатором testDiv И класс test , например
вместо этого. С пробелом будут все узлы с классом "test", которые являются дочерними элементами node с id testDiv.
Привет, я пишу 3 случая:
Метод 1: Если .test является прямым дочерним по отношению к #testdiv
В этом вы можете использовать . children
Это даст вам массив элементов с классом ‘test’. В javascript, чтобы найти размер массива, мы используем свойство length. Так $( "# Testdiv" ). Детей ( "тест" ). Длина сделают вашу работу.
Способ 2: Аналогично, чтобы найти все элементы с классом "test" в вашем #testdiv, вы можете использовать . Find callback. Этот подход следует использовать, если вы не знаете вложенный уровень элемента ".test", потому что он не оптимизирован. Например: $ ( "# Testdiv" ). Найти ( "Тест" ) Это даст вам массив элементов. Используйте ту же самую вещь .length, чтобы найти размер массива.
Способ 3: Вы также можете попробовать:
Это будет работать так же, как и метод: 2, но он менее оптимизирован.
Ваша ошибка: Вы попытались использовать следующий синтаксис
Этот селектор предоставляет элемент с классом ‘test’ и id ‘testdiv’.
Как используя jQuery посчитать количество дочерних элементов. Например нативным образом это можно сделать так:
А на jQuery, какие должны быть селекторы?
Селекторами вы количество не подсчитаете.
Приведу несколько примеров, по примеру на строчку:
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
У меня есть меню выпадашка, где есть пункты одного типа, и пункты другого, примерно в таком виде каждый пункт:
И я поставил 2 кнопки, чтобы каждая из них скрывала один из типов полей. Но есть пункты в которых только один тип, и хотелось бы чтобы если видимые дочерние пункты у родительского пункта отсутствуют, то и он бы скрывался. Как этого можно добится в jquery?
1 ответ 1
Можно задать родительским li какой-то класс и проверять, есть ли у них дочерние ul’ы. Если нет, скрывать: