问答详情
源自:2-7 jQuery选择器之基本筛选选择器

为什么[checked]也可以起到同样的作用?

$("input:not([checked])").next().css("background-color", "#CD00CD");

提问者:暮女神 2017-05-29 01:50

个回答

  • 慕粉2350419715
    2017-05-30 12:34:23
    已采纳

    代码中<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>


  • Robert_Langdon
    2017-06-17 22:00:46

    $("[checked]") 选取所有带有 checked 属性的元素,你可以上网查下jquery []选择器

  • 烟雨淼淼
    2017-05-30 01:07:51

    $("input:not([checked]) + p")  等于  $("input:not([checked])").next() ;都是选择了属性checked = ‘checked’的 input标签下的 P标签,所以效果一样