Javascript定位多个元素

时间:2014-10-01 20:10:07

标签: javascript jquery

我有以下JS:

  function init_selectAllFull(){
        $('#select-all-perms input, #user_full_access_to_all_shows').click(function() {
            var checked = $(this).is(':checked');
            $('#show-permissions-list').find('input[type=checkbox].full_access').each(function() {
            if (checked) {
                $(this).prop("checked", true);
            } else {
                $(this).removeAttr("checked");
                $(".internal.external[value='none']").prop('checked', true);
                $(".external[value='none']").prop('checked', true);
                $(".internal[value='none']").prop('checked', true);
                $(".external.internal[value='none']").prop('checked', true);

            }
                $(this).trigger("change");
            });
        });
  }

当用户取消选中字段时,它会检查一堆无线电字段。 这有效,但我不喜欢以下代码,重复进行太多。

$(".internal.external[value='none']").prop('checked', true);
$(".external[value='none']").prop('checked', true);
$(".internal[value='none']").prop('checked', true);
$(".external.internal[value='none']").prop('checked', true);

是否有更简洁的方法来定位多个类?任何帮助将不胜感激。 非常感谢你!

1 个答案:

答案 0 :(得分:3)

您可以在jquery中链接选择器,如下所示:

$(".internal.external[value='none'], .external[value='none'], .internal[value='none'], .external.internal[value='none']").prop("checked", true);

将其想象成一个CSS文件,您可以通过用逗号分隔样式块的选择器来设置多个类或元素的样式:

.row1, .row2 {
    border: 1px solid blue;
}