У меня есть следующий макет, это просто пример, и он меняется от страницы к странице.
Что мне нужно сделать, это добавить 2 разных CSS-класса к каждому из div, у которого класс уже имеет вертикальное заполнение и ДОЛЖЕН ИМЕТЬ ИД.
Это сделано для того, чтобы я мог синхронизировать цвета фона: серый, белый, серый белый для каждого элемента div, у которого есть идентификатор. Если у них нет идентификатора, им не должен быть назначен класс белого или серого цвета: поскольку количество делений с идентификатором изменяется со страницы на страницу, мне нужен некоторый тип функции jQuery для программного добавления белого и серого фона для нечетных или четных или единиц. да и одной строки нет. Но у DIV-а ДОЛЖНЫ ИМЕТЬ ИМ.
Например:
.grey-bg {
background-color: grey;
}
.white-bg {
background-color: white;
}
<article id="55" class="post-55">
<div class="entry-content">
<div class="row-main">
<div class="fl-row vertical-padding" id="welcome">1</div>
<div class="fl-row vertical-padding" id="welcome-2">2</div>
<div class="fl-row vertical-padding">3</div>
<div class="fl-row vertical-padding">4</div>
<div class="fl-row vertical-padding"id="hello">5</div>
<div class="fl-row vertical-padding" id="welcome">6</div>
<div class="fl-row vertical-padding">8</div>
<div class="fl-row vertical-padding">9</div>
<div class="fl-row vertical-padding" id="welcome-4">7</div>
<div class="fl-row vertical-padding"id="hello">10</div>
</div>
</div>
</article>
2 ответа
Вы можете сделать это с помощью css, используя [id]
с :nth-of-type()
:
.vertical-padding[id] {
color: white;
}
.vertical-padding[id]:nth-of-type(odd) {
background-color: grey;
}
.vertical-padding[id]:nth-of-type(even) {
background-color: green;
}
<div class="entry-content">
<div class="row-main">
<div class="fl-row vertical-padding" id="welcome">1</div>
<div class="fl-row vertical-padding" id="welcome-2">2</div>
<div class="fl-row vertical-padding">3</div>
<div class="fl-row vertical-padding">4</div>
<div class="fl-row vertical-padding"id="hello">5</div>
<div class="fl-row vertical-padding" id="welcome">6</div>
<div class="fl-row vertical-padding">8</div>
<div class="fl-row vertical-padding">9</div>
<div class="fl-row vertical-padding" id="welcome-4">7</div>
<div class="fl-row vertical-padding" id="hello">10</div>
</div>
</div>
Попробуй это
var a= document.getElementsByTagName('div');
var n= 1;
for(int i =0;i<a.length;i++){
{
if(a[i].innerHTML.includes('id'))
{
if(n%2==0){
//1st color
}
else{
// 2nd color
}
n++;
}
}
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Обратите внимание, что JavaScript — это НЕ Java. Включите все теги, относящиеся к вашему вопросу: например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [стройный] и т. д.