选中未选中类型的所有输入标记复选框

Select all input tags where type is not checkbox

本文关键字:复选框 输入 类型      更新时间:2023-09-26

我需要匹配所有类型为而不是checkbox的输入标记的CSS选择器。

此匹配:

<input value="Meow!" />

<input type="password" />

但这是而不是

<input type="checkbox" />

因为类型是checkbox

这就是我现在拥有的:

input:not(type="checkbox")

不幸的是,它不起作用!

所以我的问题来了:

  1. 如何修复我的CSS3选择器
  2. 没有CSS3和JavaScript可能吗
  3. 如果没有CSS3,但使用JavaScript,这可能吗

谢谢你的建议!

  1. 您的属性选择器缺少方括号:

    input:not([type="checkbox"])
    
  2. 如果你正在应用样式,你需要使用CSS中的覆盖规则:

    input {
        /* Styles for all inputs */
    }
    input[type="checkbox"] {
        /* Override and revert above styles for checkbox inputs */
    }
    

    正如你所能想象的,表单元素几乎不可能做到这一点,因为它们的浏览器默认样式在CSS中没有定义好。

  3. jQuery提供了一个可以使用的:checkbox选择器:

    $('input:not(:checkbox)')
    

    您也可以使用与CSS中相同的选择器:

    $('input:not([type="checkbox"])')
    

input:not([type="checkbox"])