@goldwizard13

Как изменить класс или добавить?

Есть такой код
<div class="myClass">
<select>
  <option>Пункт 1</option>
  <option>Пункт 2</option>
</select>
</div>

Нужно если код обернут в класс myClass, тогда добавить или заменить класс для select, токесть если < div class="myClass">, то select становится < select class="myClassselect">, толкните в нужном направлении
  • Вопрос задан
  • 111 просмотров
Решения вопроса 2
FFxSquall
@FFxSquall
Могу писать код, могу не писать
Если мы не знаем класс в который обернут select заранее, то так: (для всех селектов)
var selectList = document.getElementsByTagName('select');
for (var i = 0; i < selectList.length; i++) {
    var parentClass = selectList[i].parentNode.classList[0]
    selectList[i].classList.add(parentClass + "Select")
}

Если знаем и нам нужно проверить наличие класса у родителя и добавить селекту, то так:
var selectList = document.getElementsByTagName('select');
for (var i = 0; i < selectList.length; i++) {
    var parentClass = selectList[i].parentNode.classList.contains('myClass')
    if (parentClass) {
    	selectList[i].classList.add("myClass" + "Select")
    }

}
Ответ написан
Комментировать
@lemme
Frontend
Array.from(document.querySelectorAll('select'), item => {
	if (item.parentNode && item.parentNode.classList.contains('myClass')) {
  	item.classList.add('myClassselect')
  } 
})
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы