代码之家  ›  专栏  ›  技术社区  ›  Alexander Prokofyev

无法选择范围同级

  •  3
  • Alexander Prokofyev  · 技术社区  · 15 年前

    无法理解为什么此代码将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>
    

    谢谢

    3 回复  |  直到 15 年前
        1
  •  6
  •   Paul    15 年前

    看起来你发现了一个bug。

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

        2
  •  4
  •   cgp    15 年前
        3
  •  2
  •   Eric Ryan Harrison    15 年前

    这似乎是JQuery的一个错误。你应该把这个bug提交给团队,让他们修复它。