$("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标签,所以效果一样