jQuery:如果标记存在于self之上,则为标记添加样式

Hen*_*son 3 javascript jquery

我想.addClass("someClass"<blockquote>它是否有一个<figure>与类hello上面,就像这样:

<figure class="hello"> world </figure>
<blockquote> Lorem </blockquote>
Run Code Online (Sandbox Code Playgroud)

因此,只有当<figure>标签位于其正上方时,才会将某些标签与div分开.

这样的事可能吗?

Dav*_*mas 5

假设这是在<blockquote>元素紧跟a之前设置样式<figure>,那么你可以简单地使用CSS:

figure + blockquote {
    border-color: red; /* or whatever */
}
Run Code Online (Sandbox Code Playgroud)

section {
  border: 1px solid #000;
  margin: 0 0 1em 0;
}

blockquote {
  border: 1px solid #000;
}

figure + blockquote {
  border-color: #f00;
}
Run Code Online (Sandbox Code Playgroud)
<section>
  <figure>This is a figure</figure>
  <blockquote>And this is an immediately-following blockquote.</blockquote>
</section>

<section>
  <blockquote>This is a blockquote.</blockquote>
  <figure>And this is a figure following a blockquote</figure>
</section>

<section>
  <figure>Another figure</figure>
  <div>a div</div>
  <blockquote>And this is a blockquote.</blockquote>
</section>
Run Code Online (Sandbox Code Playgroud)

参考文献:

  • @HenrikPetterson这不是一个有效的论点...... OP只是问它是否可以完成.尽管取决于用例,可能仍然需要切换该类 (2认同)