Получение доступа к дочерним элементам через класс
Здравствуйте! Имею следующий код:
<DOCTYPE !html>
<html>
<head>
</head>
<body>
<div id="test">
<h1>First Child</h1>
<p>Last Child</p>
</div>
<div class="test2">
<h1>First Child #2</h1>
<p>Last Child #2</p>
</div>
<div class="test2">
<h1>First Child #2</h1>
<p>Last Child #2</p>
</div>
<script>
document.getElementById('test').lastElementChild.style.color = 'red';
//document.getElementById('test').children[1].style.color = 'red';
//document.getElementsByClassName('test2').lastElementChild.style.color = 'green';
//document.getElementsByClassName('test2').children[1].style.color = 'green';
</script>
</body>
</html>
Вопрос в том, что используя в качестве идентификатора айди элемента (В первом варианте test), мы спокойно можем редактировать свойства необходимого дочернего элемента, а есть ли такой же способ для редактирования дочернего элемента для всех указанных классов? P.S. Крайне желательно не использовать сторонние библиотеки, а силами самого JS. Заранее спасибо! |
666FoX666,
getElementsByClassName это список элементов, нужен индекс Цитата:
|
666FoX666,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
.green {
color: #008000;
}
</style>
</head>
<body>
<div id="test">
<h1>First Child</h1>
<p>Last Child</p>
</div>
<div class="test2">
<h1>First Child #2</h1>
<p>Last Child #2</p>
</div>
<div class="test2">
<h1>First Child #2</h1>
<p>Last Child #2</p>
</div>
<script>
[].forEach.call( document.querySelectorAll('.test2'), function(el) {
el.querySelector('p').classList.add('green');
//el.children[1].style.color = 'green';
});
</script>
</body>
</html>
|
рони,
понял, большое спасибо! |
рони, скажу честно, Ваш цикл мне не очень понятен, но я погуглю и разберу его.
Сделал, видимо, крайне глупо (В консоль ошибку даёт), но тем не менее это работает. Вот о чём речь:
var cc = document.getElementsByClassName('test2');
for (var i = 0; i <= cc.length; i++) {
cc[i].lastElementChild.style.color = 'green';
}
|
...
|
Цитата:
Цитата:
|
Цитата:
|
| Часовой пояс GMT +3, время: 16:16. |