Javascript 选中“类型不为”的所有输入标记复选框

Javascript 选中“类型不为”的所有输入标记复选框,javascript,css,input,css-selectors,Javascript,Css,Input,Css Selectors,我需要CSS选择器来匹配所有输入标记,其中类型为非复选框 这场比赛: …但这不是: 因为类型是复选框 这就是我目前的情况: input:not(type=“checkbox”) 不幸的是,它不起作用 所以我的问题来了: 如何修复我的CSS3选择器 如果没有CSS3和JavaScript,这可能吗 如果不使用CSS3,但使用JavaScript,是否可能 谢谢你的建议 属性选择器缺少方括号: input:not([type="checkbox"]) 如果要应用样式,则需要使用CSS中的覆

我需要CSS选择器来匹配所有输入标记,其中类型为
复选框

这场比赛:

…但这不是

因为类型是
复选框

这就是我目前的情况:

input:not(type=“checkbox”)

不幸的是,它不起作用

所以我的问题来了:

  • 如何修复我的CSS3选择器
  • 如果没有CSS3和JavaScript,这可能吗
  • 如果不使用CSS3,但使用JavaScript,是否可能
  • 谢谢你的建议

  • 属性选择器缺少方括号:

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

    input {
        /* Styles for all inputs */
    }
    
    input[type="checkbox"] {
        /* Override and revert above styles for checkbox inputs */
    }
    
    可以想象,表单元素几乎不可能这样做,因为它们的浏览器默认样式在CSS中没有很好的定义

  • jQuery提供了一个可供您使用的

    $('input:not(:checkbox)')
    
    您还可以使用与CSS中相同的选择器:

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

  • 输入:不([type=“checkbox”])

    应更频繁地刷新页面…:)谢谢我有一个想法——我可以定义所有可能的输入类型,除了
    checkbox
    ,并对它们应用我的自定义CSS。然后,只有没有指定类型的,
    input
    标记才会失败。@daGrevis:是的,这是一个很好的选择。你应该避免输入没有类型的元素。为什么?HTML5是有效的,而且更容易键入。如果您特别指定类型,您可以使用属性选择器,而不用担心没有类型的输入:)