【问题标题】:jQuery Checkbox Selector With Multi Attributes具有多属性的 jQuery 复选框选择器
【发布时间】:2011-01-29 16:55:01
【问题描述】:

我有一个 jQuery 选择器无法正常工作,尽管我已尽最大努力修复它。有什么建议吗?

            $(':checkbox:(not(:checked))[name=this.name][value="Done"]').attr({
                checked: 'checked',
                disabled: 'disabled'
            });

它应该检查并禁用一个复选框,如果它没有被选中,它有一个 name 属性 = this.name 和一个值 Done。

我一直在摆弄它http://jsfiddle.net/PottyMonster/s8RMJ/ 我不知道这是否可行。

【问题讨论】:

    标签: jquery attributes checkbox selector


    【解决方案1】:

    应该这样做:

    $('input[name=' + this.name + '][value=Done][type=checkbox]:not(:checked)').attr({
        checked: 'checked',
        disabled: 'disabled'
    });
    

    更新示例: http://jsfiddle.net/s8RMJ/22/

    您需要将this.name 的值连接到选择器中。

    我还在选择器中添加了input 以使其更快。

    另外,您在:not() 周围有一个额外的(),所以它看起来像:(not()),这是无效的。


    编辑:

    只是想指出,我已将 :checkbox 选择器替换为 [type=checkbox],以使您的选择器对 querySelectorAll 有效。

    现在它将在支持qsa 的浏览器中获得巨大的性能提升。

    【讨论】:

      【解决方案2】:

      [name=this.name] 更改为[name="'+this.name+'"]
      :checkbox[type="checkbox"]
      http://jsfiddle.net/s8RMJ/24/

      【讨论】:

        猜你喜欢
        • 2012-10-02
        • 2012-06-08
        • 2010-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-03
        相关资源
        最近更新 更多