我想将.addClass("someClass"
转到<blockquote>
,如果它的<figure>
上方具有CC_3,则想:
<figure class="hello"> world </figure>
<blockquote> Lorem </blockquote>
因此,只有当<figure>
标签就位于其上方时,才能像div一样分开标签
是可能的吗?
假设这是在 <blockquote>
元素之前先于<figure>
之前的样式,然后您可以简单地使用CSS:
figure + blockquote {
border-color: red; /* or whatever */
}
section {
border: 1px solid #000;
margin: 0 0 1em 0;
}
blockquote {
border: 1px solid #000;
}
figure + blockquote {
border-color: #f00;
}
<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>
参考:
- 邻接 - 兄弟姐妹(
+
)组合器。
$('figure.hello + blockquote').addClass('someClass');
来自jQuery的文档:
下一个相邻选择器(" prev next")
选择与立即匹配的所有接下来元素 在兄弟姐妹"上一条"之前。
可以从已知类中工作...最简单
$('figure.hello').next('blockquote').addClass("someClass");
它的工作方式是,如果找不到任何一个选择器,什么也不会发生,并且仅适用于folloing同胞为blockuote