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

daG*_*vis 8 javascript css input css-selectors css3

我需要CSS选择器匹配所有类型不是的 输入标签checkbox.

这场比赛:

<input value="Meow!" />

<input type="password" />

......但这不是:

<input type="checkbox" />

因为类型是checkbox!

这就是我现在所拥有的:

input:not(type="checkbox")

不幸的是,它并没有工作!

所以这是我的问题:

  1. 如何修复我的CSS3选择器?
  2. 没有CSS3和JavaScript可以吗?
  3. 没有CSS3可以使用JavaScript吗?

谢谢你的建议!

Bol*_*ock 25

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

    input:not([type="checkbox"])
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如果您正在应用样式,则需要在CSS中使用覆盖规则:

    input {
        /* Styles for all inputs */
    }
    
    input[type="checkbox"] {
        /* Override and revert above styles for checkbox inputs */
    }
    
    Run Code Online (Sandbox Code Playgroud)

    可以想象,对表单元素执行此操作几乎是不可能的,因为它们的浏览器默认样式在CSS中没有很好地定义.

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

    $('input:not(:checkbox)')
    
    Run Code Online (Sandbox Code Playgroud)

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

    $('input:not([type="checkbox"])')
    
    Run Code Online (Sandbox Code Playgroud)


Ale*_*lov 5

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