Помощник
Здравствуйте, гость ( Вход | Регистрация )
28.4.2016, 22:05
Сообщение
#226102
|
|
Special Группа: Главные администраторы Сообщений: 13274 Спасибо сказали: 2039 раз |
getElementsByClassName()
Описание var elements = document.getElementsByClassName(names); или: var elements = rootElement.getElementsByClassName(names); В "elements" будет текущая HTMLCollection найденных елементов. "names" строка - имя класса, который требуется найти. Имена классов разделяют пробелом. getElementsByClassName() может быть вызвана для любого элемента, а не только для "document". Документ, с которого осуществлен вызов, будет выступать в качестве корня (root) для поиска. Стандартное поведение. При указании имени классов не нужно ставить впереди имени класса точку. При указании нескольких классов их разделяют пробелом. Если указано несколько классов, будут найдены элементы по типу логического И (AND). При поиске нескольких классов отсутствует возможность поиска по принципу логического ИЛИ (OR). Поиск производится только по строгому соответствию. Полезные ссылки https://developer.mozilla.org/ru/docs/Web/API/HTMLCollection https://developer.mozilla.org/ru/docs/Web/API/Document/getElementsByClassName https://dom.spec.whatwg.org/#dom-document-getelementsbyclassname Примеры Скопируйте данный код в HTML файл CODE <html>
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>getElementsByClassName</title> </head> <body> <div id="example"> <p id="p1" class="aaa bbb"/> <p id="p2" class="aaa ccc"/> <p id="p3" class="bbb ccc"/> <p id="p4" class="ccc"/> </div> <script type="text/javascript"> /* Пример 1 Вернет все элементы, которые содержат указанный класс. Вернет P1 и P2. */ var elems = document.getElementById("example").getElementsByClassName("aaa"); /* Пример 2 Логическое И (AND). Вернет элементы, которые содержат одновременно два класса. Порядок указания классов и пробелов, более одного, не играют роли. "ccc bbb" или "bbb ccc " вернет один и тот же результат. Вернет P3. */ // Для теста раскомментируйте строку ниже. //var elems = document.getElementById("example").getElementsByClassName("ccc bbb "); /* Пример 3 Ничего не вернет. */ //Для теста раскомментируйте строку ниже. //var elems = document.getElementById("example").getElementsByClassName("aaa, bbb"); console.log(' '); // Очищаем консоль for( var i=0; i<elems.length; i++ ) { if( elems[i].id != "" && elems[i].id !== undefined) { console.log(elems[i].id); // Выводим найденные элементы в консоль. } } </script> </body> </html> |
|
|
Ответить |
|
16.11.2024, 16:02 Посл. ответ от Mohammed Fadhil |
||
|
3.1.2024, 5:58 Посл. ответ от Александр |
||
|
25.7.2022, 7:21 Посл. ответ от Fedorov |
||
|
16.3.2022, 12:28 Посл. ответ от Saveliy |
||
|
22.3.2015, 3:08 Посл. ответ от Saveliy |
|
19.11.2024, 18:43 Посл. ответ от slalex |
||
|
16.11.2024, 16:02 Посл. ответ от Mohammed Fadhil |
||
|
15.11.2024, 18:31 Посл. ответ от slalex |
||
|
14.11.2024, 19:12 Посл. ответ от jody |
||
|
13.11.2024, 15:30 Посл. ответ от wwwww71 |
Сейчас: 21.11.2024, 12:58 |