Содержание
- Материал из JQuery
- Содержание
- Примеры
- В действии
- version added: 1.0 jQuery( «. > class: Искомый класс. Можно перечислить несколько.
- Примеры
- 17 ответов
- Уменьшенный Javascript
Материал из JQuery
Соответствует всем элементам страницы с классом className. Селектор по классу является одним из наиболее востребуемых средств jQuery.
Для поиска элементов по классу, библиотека jQuery использует нативную javascript-функцию getElementsByClassName() (если ее поддерживает браузер).
Содержание
Примеры
Один элемент страницы может обладать несколькими классами одновременно. Найти такой элемент можно по любому из классов:
Чтобы найти элемент, который обладает двумя (или более) классами одновременно, нужно перечислить их без пробела:
В действии
Выделим div-элементы с классом someBlock бледно-зеленым цветом фона, а все четные (т.е. с четным индексом) из них, обведем красной рамкой:
Выборка элементов с заданным классом.
version added: 1.0 jQuery( «. > class: Искомый класс. Можно перечислить несколько.
Для поиска jQuery использует JavaScript фугкцию getElementsByClassName(), если браузер поддерживает работу с ней.
Примеры
Пример: Найти все элементы с классом “myClass”.
Пример: найти элементы с классами “myclass” и “otherclass”.
есть ли способ в jQuery выполнить цикл или назначить массиву все классы, назначенные элементу?
Я буду искать» специальный «класс, как в» dolor_spec » выше. Я знаю, что могу использовать hasClass (), но фактическое имя класса может быть не обязательно известно в то время.
17 ответов
можно использовать document.getElementById(‘divId’).className.split(/s+/); чтобы получить массив имен классов.
затем вы можете перебрать и найти тот, который вы хотите.
jQuery на самом деле не помочь вам здесь.
почему никто просто не указан.
вот плагин jQuery, который вернет массив всех классов, которые соответствуют элементам
использовать его как
в вашем случае возвращается
вы также можете передать функцию методу, который будет вызываться для каждого класса
здесь это jsFiddle я создал для демонстрации и тестирования http://jsfiddle.net/GD8Qn/8/
Уменьшенный Javascript
в поддерживаемых браузерах вы можете использовать элементы DOM’ classList собственность.
это массив-подобный объект, перечисляющий все классы, которые имеет элемент.
Если вам нужно поддерживать старые версии браузеров, которые не поддерживают classList свойство, связанная страница MDN также включает в себя прокладку для него — хотя даже прокладка не будет работать в версиях Internet Explorer ниже IE 8.
вы должны попробовать это:
возвращает массив всех текущих классов элемента.
обновление:
Как правильно указал @Ryan Leonard, мой ответ на самом деле не фиксирует точку, которую я сделал сам. Вам нужно как обрезать и удалить двойные пробелы (например) строку.заменить(/ +/г, » «).. Или вы можете разделить el.className, а затем удалить пустые значения с (например) arr.фильтр(логический).
или более современные
старый:
со всеми данными ответами, вы должны никогда не забывайте пользователя .отделка() (или $.trim ())
поскольку классы добавляются и удаляются, может случиться, что между строками классов существует несколько пробелов.. например, «class1 class2 class3»..
это превратится в [‘class1’, ‘class2′,»,»,»,», «class3’]..
когда вы используете trim, все несколько пробелы удаляются..
может это вам тоже поможет. Я использовал эту функцию для получения классов элемента childern..
в вашем случае вы хотите, чтобы класс doler_ipsum u мог сделать это сейчас calsses[2]; .
Попробуйте Это. Это даст вам имена всех классов из всех элементов документа.
Спасибо за это — у меня была аналогичная проблема, так как я пытаюсь программно связать объекты с иерархическими именами классов, хотя эти имена могут не обязательно быть известны моему скрипту.
javascript предоставляет атрибут classList для элемента узла в dom. Просто используя
вернет объект формы
объект имеет такие функции, как contains, add, remove которые вы можете использовать
у меня была аналогичная проблема, для элемента типа «изображение». Мне нужно было проверить, принадлежит ли элемент к определенному классу. Сначала я попробовал с:
но у меня есть хорошая «эта функция недоступна для этого элемента».
затем я проверил свой элемент в DOM explorer, и я увидел очень хороший атрибут, который я мог бы использовать: className. Он содержал имена всех классов моего элемента, разделенных пробелами.
как только вы получите эту, просто раздели веревку, как обычно.
В моем случае это сработало:
Я предполагаю, что это будет работать с другими видами элементов (кроме Гуи).
надеюсь, что это помогает.
немного поздно, но использование функции extend() позволяет вызывать «hasClass ()» для любого элемента, например:
var has );
вопрос в том, для чего предназначен Jquery.
а почему никто не дал .find () как ответ?
существует также classList для браузеров, отличных от IE:
вот вы идете, просто подправили readsquareответ, чтобы вернуть массив всех классов:
передайте элемент jQuery функции, чтобы пример вызова был:
Я знаю, это старый вопрос, но все же.
если вы хотите управлять элементом
если вы хотите проверить, имеет ли элемент class
Источник: