Код, который вы указали, работает, за исключением того, что нет div с классами content
и sap
одновременно, поэтому при запуске приведенного ниже фрагмента вы не увидите никаких изменений (ни один класс не будет добавлен ни к одному элементу ):
function boot() {
var box = document.getElementsByClassName("sap");
for(var i=0; i < box.length; i++) {
if(box[i].classList.contains("content")) {
box[i].classList.add("flush");
}
}
}
.flush {
font-weight: bold;
color: #09f;
}
<button onclick="boot()">show</button>
<div class=panel>
<div id="container" class="sap">
<div class="content"><span>unveil</span></div>
<div class="smooth"></div>
</div>
<div class="sap">
<div class="content"><span>unveil</span></div>
<div class="smooth"></div>
</div>
<div class="sap">
<div class="content"><span>unveil</span></div>
<div class="smooth">
</div>
</div>
</div>
Если вы хотите добавить класс к элементу класса sap
, который имеет дочерний элемент с классом content
:
function boot() {
var box = document.getElementsByClassName("sap");
for(var i=0; i < box.length; i++) {
if(box[i].querySelector('.content') !== null) {
box[i].classList.add("flush");
}
}
}
.flush {
font-weight: bold;
color: #09f;
}
<button onclick="boot()">show</button>
<div class=panel>
<div id="container" class="sap">
<div class="content"><span>unveil</span></div>
<div class="smooth"></div>
</div>
<div class="sap">
<div class="content"><span>unveil</span></div>
<div class="smooth"></div>
</div>
<div class="sap">
<div class="content"><span>unveil</span></div>
<div class="smooth">
</div>
</div>
</div>