jquery количество элементов с классом

Как мне подсчитать динамическое создание элементов с тем же классом в jquery? Я нашел аналогичный вопрос, но, к сожалению, это не сработало. jQuery подсчет элементов по классам; что это лучший способ реализовать это?

Я сделал что-то вроде этого, которое я основывал на ответах:

Элементы класса class_class динамически генерируются. Но я всегда получаю длину 1, всякий раз, когда я размываю. Как это сделать правильно?

3 ответа

19 Решение Hogan [2011-08-21 16:59:00]

Помните, что событие вызывается в одном элементе, поэтому this — это всего лишь один элемент — вы должны иметь jQuery запрос dom после события. (Первый запрос только устанавливает живую обработку для создания обработчиков событий.)

this в функции ссылается на цель события, а когда вы выполняете $(this).length , она возвращает 1, потому что у этого элемента нет дубликатов.

Это может быть не то, что вам нужно в этом случае, но для того, чтобы сделать его более динамичным, если у вас есть несколько классов, и хотите, чтобы все классы совпадали, вы можете сделать это:

В основном вы заменяете все экземпляры одного или нескольких последовательных пробелов в свойстве className одним символом . . Это связано с тем, что class-selector [docs] способен выбирать на основе соответствия все классы предоставлены.

Он также использует метод jQuery.trim() [docs] , чтобы избавиться любого ведущего/конечного пространства.

Теперь, если вы добавите и удалите дополнительные классы для своего элемента, который получил событие, он всегда будет соответствовать только тем элементам, которые имеют все те же классы.

Если вместо этого вы хотите сопоставить все элементы, которые имеют какой-либо из классов, которые выполняет оригинальный элемент, сделайте следующее:

Это просто добавляет запятую в селектор для разделения классов, создавая multiple-selector [docs] .

У меня на странице какое-то количество элементов с одинаковым классом. Как узнать сколько их, используя js или jquery?

4 ответа 4

На jQuery еще так можно

Я делаю с недавних пор так:

При этом, если элементы разбросаны по всей странице, и надо не просто их посчитать, а порядок сохранить. Делаю так:

На jQuery я так и не нашёл как это делать, только набор внутри одного родителя, другой считается новым. По крайней мере я с этой проблемой сталкивался года три назад. Мне нужно было посчитать общее количество элементов, разбросанных по странице, и вывести их порядок. Да, может где-то сглупил, или во всём, но я только пользователь JS, а не разработчик на нём. А на чистом — самый простой способ что я нашёл уже спустя столько времени.

Как подсчитать все элементы в содержащем div с классом selected?

Моя попытка Jquery:

Но это всегда говорит 0.

Поэтому, если я нажму на список классов внутри div id 1, я хочу найти количество li с выбранным классом.

4 ответа

если вы хотите найти только li с выбранным классом, то ваш jquery будет

Я думаю, что у вас может быть какой-то противоречивый код, или я неправильно понимаю Это работает нормально для меня:

Я вижу, вы обновили свой вопрос. У вас там работает код . Я думаю, что вы, возможно, не помещали его в функцию domready. См. Http://jsfiddle.net/UkD69/4/ и обратите внимание на окружающие $(function()< [code] >);

Или вы хотите, чтобы это работало без события? $(this) относится к элементу, который был присоединен к обработчику событий и перехвачен функцией (как в моем примере).

Это проверит каждый div на количество .selected классов:

Оцените статью
SoftLast
Добавить комментарий