2009-04-27 4 views
3

Не могу понять, почему этот код меняет цвет элемента DIV на синий, но не меняет цвет элемента SPAN. Есть идеи?Невозможно выбрать SPAN sibling

<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

Эта ошибка закрыта в версии jQuery 1.3.2 –

ответ

6

Похоже, вы нашли ошибку.

$ ("# prev ~ span: not (#prev)") работает, как и $ ("# prev"). Siblings ("span").

+0

+1 для обходного пути :) – cgp

+1

Кроме того, $ ("# prev ~ span") работает в 1.2.6, поэтому это определенно ошибка, введенная в 1.3. –

2

Кажется, ошибка JQuery. Вы должны отправить эту ошибку команде и позволить им исправить ее.