" +"之间的区别和"〜"

时间:2015-06-17 12:23:49

标签: jquery css jquery-selectors css-selectors

$('div + p')$('div ~ p')之间的主要区别是什么。

如果我有这样的东西

<div class="active"></div>
<p class="pactive"></p>

返回相同的值。

3 个答案:

答案 0 :(得分:2)

举个例子

div + p

  

选择紧跟在<p>元素

之后的所有<div>元素

p ~ ul

  

选择<ul>元素前面的每个<p>元素具有相同的父元素。

查看 CSS REFERENCE Selectors

答案 1 :(得分:1)

X + Y

ul + p {
   color: red;
}

这被称为相邻选择器。它将仅选择前一个元素前面的元素。在这种情况下,每个ul后只有第一段会有红色文字。

X~Y

ul ~ p {
   color: red;
}

这个兄弟组合器类似于X + Y,但是它不那么严格。虽然相邻的选择器(ul + p)只会选择紧跟前一个选择器之前的第一个元素,但这个选择器更加通用。它将参考我们上面的例子选择任何p元素,只要它们遵循ul。

<强> For Reference

答案 2 :(得分:-1)

我找到了答案。

<div class="active"></div>
<p class="pactive"></p>
<div></div>
<p></p>
<div></div>
<p></p>
<div></div>

$("div.active + p")只会选择p pactivep(即div旁边的$(div).next();,与<p class="pactive"></p> 相同<) / p>

  

结果:

$("div.active ~ p")

其中p将选择仅在div.active之后的所有同级p。如果在div.active之前有任何p元素,那么不要选择<p class="pactive"></p> <p></p> <p></p>

  

结果:

{{1}}