无法选择SPAN兄弟

Ale*_*yev 3 jquery css-selectors siblings

无法理解为什么此代码将DIV元素的颜色更改为蓝色,但不会更改SPAN元素的颜色.有任何想法吗?

<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  <script>
    $(document).ready(function(){
      $("#prev ~ div").css("color", "blue");
      $("#prev ~ span").css("color", "red");
    });
  </script>
</head>
<body>
  <span id="prev">span#prev</span>
  <div>div sibling</div>
  <span>span sibling</span>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

注意如果我更换了什么

<span id="prev">span#prev</span>
Run Code Online (Sandbox Code Playgroud)

<p id="prev">span#prev</p>
Run Code Online (Sandbox Code Playgroud)

DIV和SPAN都会更改文本颜色.

谢谢!

Pau*_*aul 6

看起来你发现了一个错误.

$("#prev~span:not(#prev)")和$("#prev").兄弟姐妹("span")一样有效.