我試圖改變一個容器div元素和幾個div元素嵌套在它的類,當單擊容器div。我可以成功地更改容器元素的類(case_study_section),但不知道如何定位嵌套(子)div元素(case_study_images,case_study_image1,..)。請幫忙。JavaScript - 如何在使用「this」傳遞的div內定位嵌套(子)div?
P.S .:我需要爲不同的子元素添加不同的類。因此將分開針對他們。
function expandCollapse(case_study_section) {
var sectionClasses = case_study_section.classList;
\t var imagesClasses = case_study_section.getElementsByClassName('case_study_images').classList;
if (sectionClasses.contains("collapsed_section")) {
sectionClasses.remove("collapsed_section");
sectionClasses.add("expanded_section");
} else {
sectionClasses.remove("expanded_section");
sectionClasses.add("collapsed_section");
}
}
.case_study_section {
width: 100px;
height: 100px;
}
.collapsed_section {
background-color: #ff0000;
}
.expanded_section {
background-color: #000000;
}
<div class="case_study_section collapsed_section" onClick="expandCollapse(this)">
<div class="case_study_images collapsed_images">
<div class="case_study_image1">
</div>
<div class="case_study_image2">
</div>
<div class="case_study_image3">
</div>
</div>
</div>
他沒有要求jQuery的解決方案。 – Roy
如果可能,我想避免使用jQuery。任何純JS解決方案? – user1543784
爲什麼你想改變後代元素的類?如果你想對它們進行不同的格式化,那麼你應該在你的CSS中使用它們已有的類來做到這一點。 – CBroe