다음과 같이 할 수 있습니다 :
var list = document.getElementById("foo").getElementsByClassName("bar");
if (list && list.length > 0) {
list[0].innerHTML = "Goodbye world!";
}
또는 오류 검사를 줄이고보다 간결하게 작업을 수행하려는 경우 다음과 같이 한 줄로 수행 할 수 있습니다.
document.getElementById("foo").getElementsByClassName("bar")[0].innerHTML = "Goodbye world!";
설명에서 :
- 으로 요소를 얻습니다
id="foo"
.
- 그런 다음 해당 객체 내에 포함 된 객체를 찾습니다
class="bar"
.
- 배열과 비슷한 nodeList를 반환하므로 해당 nodeList의 첫 번째 항목을 참조하십시오.
- 그런 다음
innerHTML
해당 항목을 설정하여 내용을 변경할 수 있습니다.
주의 사항 : 일부 이전 브라우저는 지원하지 않습니다 getElementsByClassName
(예 : 이전 버전의 IE). 이 기능은 누락 된 경우 제자리에 고정 될 수 있습니다.
여기에서는 브라우저 호환성을 걱정하지 않고 내장 CSS3 선택기 지원 기능이있는 라이브러리를 사용하는 것이 좋습니다 (다른 사람이 모든 작업을 수행하도록). 도서관에서 그렇게하고 싶다면 Sizzle가 잘 작동합니다. Sizzle에서는 다음과 같이 수행됩니다.
Sizzle("#foo .bar")[0].innerHTML = "Goodbye world!";
jQuery에는 Sizzle 라이브러리가 내장되어 있으며 jQuery에는 다음과 같습니다.
$("#foo .bar").html("Goodbye world!");
document.getElementsByClassName
잘 작동합니다.