2021 프론트 엔드 로드맵 따라가기/JS
Multiple Selector
알 수 없는 사용자
2021. 5. 30. 18:53
선택자에 따라 HTMLCollection과 NodeList 두 가지 리턴형식이 존재
// document.getElementsByClassName
// const items = document.getElementsByClassName("collection-item");
// console.log(items);
// console.log(items[0]);
// items[0].style.color = "red";
// items[3].textContent = "Hello";
// const listItems = document.querySelector("ul").getElementsByClassName("collection-item");
// console.log(listItems);
// document.getElementsByTagName
// let lis = document.getElementsByTagName("li");
// console.log(lis);
// console.log(lis[0]);
// lis[0].style.color = "red";
// lis[3].textContent = "Hello";
// // Converse HTML Collection into Array
// lis = Array.from(lis);
// lis.reverse();
// lis.forEach((li, index) => {
// console.log(li.className);
// li.textContent = `${index}: Hello`;
// });
// console.log(lis);
// document.querySelectorAll => return NodeList which allow to use forEach, etc..
const items = document.querySelectorAll("ul.collection li.collection-item");
items.forEach((item, index) => {
item.textContent = `${index}: Hello`;
});
const liOdd = document.querySelectorAll("li:nth-child(odd)");
const liEven = document.querySelectorAll("li:nth-child(even)");
liOdd.forEach((li, index) => {
li.style.background = "#ccc";
});
for(let i = 0; i < liEven.length; i++) {
liEven[i].style.background = "#f4f4f4";
}
console.log(items);