无法选择SPAN兄弟

时间:2009-04-27 14:15:07

标签: 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>

注意如果我更换

<span id="prev">span#prev</span>

<p id="prev">span#prev</p>

DIV和SPAN都会更改文字颜色。

谢谢!

3 个答案:

答案 0 :(得分:6)

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

$(“#prev~span:not(#prev)”)和$(“#prev”)一样有效.siblings(“span”)。

答案 1 :(得分:4)

答案 2 :(得分:2)

似乎是JQuery的错误。您应该将此错误提交给团队并让他们修复它。