Получить элемент tagName внутри класса
Я хочу получить элемент a
внутри класса и изменить его.
Мой HTML это:
<div class="alignleft">
<a href="http://cismdomain.com/articles/page/2/">« Older Entries</a>
</div>
я хочу измениться Older Entries
в Previous
,
Мой код JavaScript:
var oldentries = document.querySelector('.alignleft');
var ainside = document.getElementsByTagName('a');
oldentries.ainside.innerHTML = "Previous";
но это дает мне undefined
,
5 ответов
После того как вы используете Document.querySelector(), чтобы получить элементы с классом '.alignleft'
Вы также можете сделать oldentries.querySelector('a');
чтобы получить 'a'
элемент внутри oldentries
и затем измените element.innerHTML:
var oldentries = document.querySelector('.alignleft'),
ainside = oldentries.querySelector('a');
ainside.innerHTML = 'Previous';
<div class="alignleft">
<a href="http://cismdomain.com/articles/page/2/">« Older Entries</a>
</div>
Вам необходимо обновить textContent
собственность <a>
элемент.
Рабочий пример:
var linkElement = document.querySelector('.alignleft a');
linkElement.textContent = 'Previous';
<div class="alignleft">
<a>Older Entries</a>
</div>
Вы можете искать свой элемент с помощью вызова signle для querySelector с помощью более точного селектора: напрямую использовать .alignLeft a
вместо того, чтобы делать это дважды.
Этот код работает:
var entries = document.querySelector('.alignLeft a');
entries.innerHTML = "Previous"
Ваш код будет визуализировать что-то вроде
document.querySelector('.alignleft').document.getElementsByTagName('a').innerHTML = "Previous";
Также, getElementsByTagName('a')
сделает массив, а не объект, который вы можете применить .innerHTML
к.
var ainside = document.querySelector('.alignlef a'); // Select first occurance of a inside the first occurance of .alignleft in the document
ainside.innerHTML = "Previous";
document.getElementsByTagName
возвращает HTML-коллекцию. Поэтому вам нужно перебрать его (в вашем случае это будет первая запись).
var oldentries = document.querySelector('.alignleft');
var ainside = document.getElementsByTagName('a');
for(i=0;i<ainside.length;i++) {
ainside[i].innerHTML = "Previous";
}