选择所有类型不是复选框的输入标签

时间:2012-03-31 14:04:23

标签: javascript css css3 input css-selectors

我需要CSS选择器,匹配所有类型 checkbox的输入标签。

这场比赛:

<input value="Meow!" />

<input type="password" />

...但这确实

<input type="checkbox" />

因为类型是checkbox

这就是我现在所拥有的:

input:not(type="checkbox")

不幸的是,工作!

所以我的问题出现了:

  1. 如何修复我的CSS3选择器?
  2. 没有CSS3和JavaScript可以吗?
  3. 没有CSS3可以使用JavaScript吗?
  4. 感谢任何建议!

2 个答案:

答案 0 :(得分:23)

  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 selector

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

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

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

答案 1 :(得分:1)

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