/ / изберете div по клас само ако предишен елемент в DOM с определен ID съществува - jquery

изберете div по класове само ако предишният елемент в DOM с конкретен идентификатор съществува - jquery

Опитвам се да избера div и да променя неговото фоново изображение, но само ако елементът преди него съществува и има определено ID. Вижте следното:

<td class ="thumbnails">
<a name="abc" id ="def"></a>
<div class="bgimages"></div>
</td>

Как да избера и да променя фоновото изображение на div с клас "bgimages" на базата на това дали има елемент преди него с идентификатор "def"?

Отговори:

2 за отговор № 1

Няма причина да използвате jQuery или javascript за това, можете да правите само с CSS. Вижте по-долу пример с цветове.

.bgimages {
background-color: green;
}

#def + .bgimages {
background-color: orange;
}
<table>
<tr>
<td class ="thumbnails">
<a name="abc" id ="def">yyyy</a>
<div class="bgimages">yyyy</div>
</td>
</tr>
<tr>
<td class ="thumbnails">
<a name="abc" id ="defxxx">yyyy</a>
<div class="bgimages">yyyy</div>
</td>
</tr>
</table>

Заменете background-color с background-image


2 за отговор № 2

Можете да изберете div елемент с a def преди това да е котва;

console.log($("a#def").next("div.bgimages"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<td class ="thumbnails">
<a name="abc" id ="def"></a>
<div class="bgimages"></div>
</td>