Точный поиск элемента по классу
День добрый. Собственно суть. Есть, допустим, много дивов вот с такими именами классов:
<div class="event-container closed-task cancelled-task "> <div class="event-container closed-task cancelled-task CANCELLED "> Использую:
getElementsByClassName('event-container closed-task cancelled-task')
Мне возвращается nodelist с дивами имеющими оба описанных выше именами классов. Собственно вопрос - как в getElementsByClassName сделать поиск по точному совпадению имени класса? |
'event-container.closed-task.cancelled-task'
|
Цитата:
<div class="event-container closed-task cancelled-task CANCELLED"></div>
<script type='text/javascript'>
var o=document.getElementsByClassName('event-container.closed-task.cancelled-task');
alert(o.length);
</script>
|
Цитата:
Можно например так...
<div class="event-container closed-task cancelled-task"></div>
<div class="event-container closed-task cancelled-task CANCELLED"></div>
<script type='text/javascript'>
var o=document.querySelectorAll('.event-container.closed-task.cancelled-task:not(.CANCELLED)');
alert(o.length);
</script>
|
Цитата:
document.querySelector('.event-container.closed-task.cancelled-task')
|
Цитата:
1. Автору нужно работать с getElementsByClassName 2. Твой вариант просто выберет первое совпадение. Если использовать querySelectorAll с твоим селектором - так же выберется 2 элемента
<div class="event-container closed-task cancelled-task"></div>
<div class="event-container closed-task cancelled-task CANCELLED"></div>
<script type='text/javascript'>
var o=document.querySelectorAll('.event-container.closed-task.cancelled-task');
alert(o.length);
</script>
|
Цитата:
|
Цитата:
|
Цитата:
Т.о. твой селектор ему не поможет. :no: |
Цитата:
|
| Часовой пояс GMT +3, время: 01:40. |