【问题标题】:Grouping JQuery Selections and performing actions on them?对 JQuery 选择进行分组并对它们执行操作?
【发布时间】:2013-07-27 03:08:44
【问题描述】:

我在对一些 jquery 选择进行分组并对它们执行操作时遇到问题,以这种方式使用时它们会正常执行:

    $("#divCampLockedState").show();
    $("#divCampLockedState2").show();
    $('#divCampState').show();
    $('#divCampState2').show();

但是以这种方式对它们进行分组会导致元素不显示:

    $("#divCampLockedState","#divCampLockedState2",'#divCampState','#divCampState2').show();

同样,分组属性也随之改变:

$("#CampState_Inactive").attr('disabled', 'disabled');
$("#CampState_Inactive2").attr('disabled', 'disabled');

到这里:

    $("#CampState_Inactive","#CampState_Inactive2").attr('disabled', 'disabled');

似乎也破坏了一些东西。我的方法有缺陷还是只是不当的做法?谢谢!

【问题讨论】:

  • 另外,如果您使用 jQuery > 1.6,您应该通过 .prop() 函数设置禁用。 $("#CampState_Inactive").prop("disabled", false);

标签: javascript jquery optimization query-optimization


【解决方案1】:

你的分组方式与在 css 中用逗号相同,但它仍然是一个选择器字符串而不是多个

$('#divCampLockedState,#divCampLockedState2,#divCampState,#divCampState2').show();

等等

【讨论】:

  • 你应该更改"
【解决方案2】:

将所有 div 放在一个引用块中

$("#divCampLockedState,#divCampLockedState2, #divCampState,#divCampState2").show();

这是multiple selector上的jquery文档

【讨论】:

    【解决方案3】:

    你必须使用以下方式。

    $("#divCampLockedState, #divCampLockedState2, ...");
    

    $("#divCampLockedState", "#divCampLockedState2"):是$("#divCampLockedState2").find("#divCampLockedState");的别名

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-29
      • 2010-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多