【问题标题】:Select all not disabled input buttons选择所有未禁用的输入按钮
【发布时间】:2013-03-29 02:28:07
【问题描述】:

我能否以某种方式选择所有禁用的输入提交元素?

我可以很容易地找到所有残疾人:http://api.jquery.com/disabled-selector/

$("input.saveitembtn:disabled")

但是有什么好东西吗:

$("input.saveitembtn:NOTdisabled")

到目前为止,我的解决方案是使用 jQuerys .each 运行它们,使用 .is 单独检查每一个:

$("input.saveitembtn").each(function(a){
  if( !$(this).is(':disabled') ) {
    ...
  }
});

我觉得这完全是矫枉过正。 jQuery中有一个简单的选择器吗?

【问题讨论】:

    标签: jquery jquery-selectors disabled-control


    【解决方案1】:

    是的,有:not()

    $("input.saveitembtn:not(:disabled)")
    

    【讨论】:

      【解决方案2】:

      不知道为什么,但接受答案对我不起作用。但是这样做:

      $("input.saveitembtn:not([disabled])");
      

      【讨论】:

      • 这可能是原因(来自jquery-api-doc):“虽然它们的结果选择通常相同,但:disabled 选择器与[disabled] 属性选择器略有不同; :disabled 匹配实际禁用的元素,而 [disabled] 仅检查 disabled 属性的存在。” HTML-Standard 视为“实际禁用”的表单控件可以在此处查找:@ 987654322@...
      • @Mayinx - 在这里晚了几年但是是的,我很确定当我发布我正在“禁用”锚元素时,所以你的解释是正确的。
      【解决方案3】:

      原版 JavaScript:

      const ELS_enabled = document.querySelectorAll("input:not([disabled])");
      
      console.log(ELS_enabled.length); // 2
      <input type="text" required placeholder="Required">
      <input type="text" required disabled placeholder="Required and disabled">
      <input type="text" required placeholder="Required">

      【讨论】:

        猜你喜欢
        • 2021-08-28
        • 2018-06-13
        • 2020-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-23
        相关资源
        最近更新 更多