Я пытаюсь получить доступ к определенному дочернему элементу по имени класса, но он не работает, он дает мне весь внутренний HTML-код, используемый в ul?
var element = document.getElementsByClassName("inner")[0].innerHTML;
console.log(element);
<ul id="list" class="inner">
<p>paragraph</p>
<li><a href="" class="hom" id="hoo">Home</a></li>
<li><a href="">About</a></li>
<li><a href="">Classes</a></li>
<li><a href="">Services</a></li>
<li><a href="">Gallery</a></li>
<li><a href="">Teachers</a></li>
<button ><a href="" id="btn-1" >Join class</a></button>
</ul>
</nav>
Всего 2 ответа
document.getElementsByClassName
возвращает массив со всеми elements
, которые имеют указанный класс. document.getElementsByClassName('inner')[0]
просто выберет первый и единственный элемент с таким классом (Ваш ul
).
Если вам нужно получить доступ к определенному дочернему элементу этого элемента, вам нужно будет использовать свойство children
, а затем вы можете использовать любой индекс, который соответствует существующему дочернему элементу.
var element=document.getElementsByClassName("inner")[0].children[0].innerHTML;
console.log(element);
<ul id="list" class="inner">
<p>paragraph</p>
<li><a href="" class="hom" id="hoo">Home</a></li>
<li><a href="">About</a></li>
<li><a href="">Classes</a></li>
<li><a href="">Services</a></li>
<li><a href="">Gallery</a></li>
<li><a href="">Teachers</a></li>
<button ><a href="" id="btn-1" >Join class</a></button>
</ul>
</nav>
Я бы посоветовал не использовать document.getElementsByClassName
и просто использовать document.querySelector('.inner')
вместо этого для выбора элемента.
Вместо использования getElementsByClassName
вы можете использовать querySelector для простого нацеливания на абзацы innerHTML.
См. пример ниже:
var element = document.querySelector(".inner p").innerHTML;
console.log(element);
<ul id="list" class="inner">
<p>paragraph</p>
<li><a href="" class="hom" id="hoo">Home</a></li>
<li><a href="">About</a></li>
<li><a href="">Classes</a></li>
<li><a href="">Services</a></li>
<li><a href="">Gallery</a></li>
<li><a href="">Teachers</a></li>
<button><a href="" id="btn-1" >Join class</a></button>
</ul>
</nav>