2009-04-27 45 views
3

无法理解此代码为何将DIV元素的颜色更改为蓝色,但不会更改SPAN元素的颜色。有任何想法吗?无法选择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改变文字颜色。

谢谢!

+0

这个bug在jQuery版本1.3.2中关闭 – 2009-11-09 11:22:04

回答

6

看起来像你发现了一个错误。 (“#prev〜span:not(#prev)”)和$(“#prev”)。siblings(“span”)一样有效。

+0

+1解决方法:) – cgp 2009-04-27 14:31:58

2

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