2016-05-27 5 views
0

Я пытаюсь войти в число элементов в HTML-документе, которые имеют id «пункт» здесь код до сих порКак я могу зарегистрировать номер конкретного элемента DOM в консоли?

window.addEventListener("load",init); 
function init(){ 

     var b = document.getElementById("para"); 

     console.log(b); 

} 

до сих пор это будет регистрировать только сам элемент, а не количество их в html документе

+0

более одного элемента с одинаковым идентификатором в HTML является недействительной разметкой. Однако вы можете дать элементам одинаковое имя. – Ultimater

+0

Вы должны использовать классы для нескольких элементов. – Barmar

ответ

3
var b = document.getElementById("para"); 

Обратите внимание на единственное в этом классе, оно возвращает только один элемент (или null).

Если ваш документ хорошо сформирован, будет только один элемент с идентификатором para. Это одна из вещей, которая отделяет идентификаторы от классов.

У вас есть два решения.

  • Отойдите от использования ID и использовать любой класс или данных- * атрибуты
  • использование document.querySelectorAll("#para")

из двух, я рекомендую фиксируя свой HTML.

Демо-код со ссылкой на комментарий

var list = document.querySelectorAll("#test-span"); 
 
console.log(list.length);
<span id="test-span">1</span> 
 
<span id="test-span">1</span> 
 
<span id="test-span">1</span>

+0

Я буду держать пари, что 'querySelectorAll' не будет делать то, что он хочет. – Barmar

+0

@Barmar См. Прилагаемый пример. Он делает то, что попросил ОП. –

Смежные вопросы