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

标签 javascript css input css-selectors

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

这场比赛:

<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 selector你可以使用:

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

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

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

关于javascript - 选择类型不是复选框的所有输入标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9956545/

相关文章:

javascript - 无法更改 d3.js 矩形的填充

javascript - 在调用回调之前如何等待异步创建的对象完全可用?

jquery - 将图标/文本折叠为左侧导航栏上的图标

c - 从用户那里获取数组? C编程

c - 为什么 scanf() 接受错误的输入?

javascript - Node js Express尝试将orm json传递给客户端

php - IE SCRIPT16389 错误与 Flash ExternalInterface 回调和 JQuery slider

javascript - 如何将字段集内容从html传递到html

javascript - 如何为谷歌字体做回退?

html - Microsoft Edge 中的切换显示