无法理解为什么此代码将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都会更改文字颜色。
谢谢!
答案 0 :(得分:6)
看起来你发现了一个错误。
$(“#prev~span:not(#prev)”)和$(“#prev”)一样有效.siblings(“span”)。
答案 1 :(得分:4)
这确实是一个错误。 Report a bug to jQuery
答案 2 :(得分:2)
似乎是JQuery的错误。您应该将此错误提交给团队并让他们修复它。