qq_朩頭苌卟詘稥菇_0
2017-07-25 22:41
+p是相邻兄弟节点,为什么Aaron和慕课都变紫了
$("input:not(:checked) + p").css("background-color", "#CD00CD");
这里选择的是
<div class="left"> <div> <input type="checkbox" name="a" /> <p>Aaron</p> </div> <div> <input type="checkbox" name="b" /> <p>慕课</p> </div> <div> <input type="checkbox" name="c" checked="checked" /> <p>其他</p> </div> </div>
里面没有checked属性的input元素的相邻兄弟的p节点
<script type="text/javascript"> //:not 选择所有元素去除不匹配给定的选择器的元素 //选中所有紧接着没有checked属性的input元素后的p元素,赋予颜色 $("input:not(:checked)+p").css("background-color", "#CD00CD"); </script>
注释里其实已经说得很清楚了,:not选择的是一个元素数组,“input:not(:checked)”选择的是两个没有选中的选项,所以他们的相邻兄弟节点是两个,没毛病
jQuery基础 (一)—样式篇
217509 学习 · 1218 问题
相似问题