仅当具有特定ID的DOM中的前一个元素存在时,才按类选择

时间:2017-03-01 15:42:56

标签: jquery

我正在尝试选择div并更改其背景图像,但前提是它之前的a元素存在且具有特定ID。请参阅以下内容:

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

我如何选择和更改div的背景图像,其类型为'bgimages',具体取决于它是否具有ID为'def'之前的a元素?

2 个答案:

答案 0 :(得分:2)

没有理由为此使用jQuery或javascript,只能使用CSS。请参阅以下带颜色的示例。

&#13;
&#13;
.bgimages {
    background-color: green;
}

#def + .bgimages {
    background-color: orange;
}
&#13;
<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>
&#13;
&#13;
&#13;

background-color替换为background-image

答案 1 :(得分:2)

您可以选择带有div id锚点的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>