$("input:not([checked])").next().css("background-color", "#CD00CD");
代码中<input type="checkbox" name="c" checked="checked" />
[checked]是属性选择器,是上面代码中第一个checked。
例如:下面第个input去掉name属性,然后使用$("input:not([name])+p"),“其他”会有背景色
<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" checked="checked" /> <p>其他</p> </div> </div> <script type="text/javascript"> //:not 选择所有元素去除不匹配给定的选择器的元素 //选中所有紧接着没有name属性的input元素后的p元素,赋予颜色 $("input:not([name])+p").css("background-color", "#CD00CD"); </script>
$("[checked]") 选取所有带有 checked 属性的元素,你可以上网查下jquery []选择器
$("input:not([checked]) + p") 等于 $("input:not([checked])").next() ;都是选择了属性checked = ‘checked’的 input标签下的 P标签,所以效果一样