2

可能重复:
如何组合两个 jQuery 选择器?

我有一个工作代码

$('#block1').css("display", "none");
$('#block2').css("display", "none");
$('#block3').css("display", "none");

我相信它可以写成一个字符串。怎么做?

我相信它可以通过几个选项和预期的结果来完成,所以如果需要,这里有更多额外的细节:

可以display: none;为所有以单词开头的 id设置block,例如block123or blockabc4(所有以开头的 idblock都只有#block1, #block2and #block3)。display代码应用前属性的当前值为block.

4

4 回答 4

2
$('#block1, #block2, #block3').css("display", "none");

或者如果你有很多不同结局的块:

$('[id^=block]').css('display', 'none');
于 2012-11-10T11:58:32.283 回答
1

使用逗号运算符对不同的选择器进行分组,如下所示:

$('#block1,#block2,#block3').css("display", "none");


或者,您可以使用 jQuery以选择器开头id来选择属性以block字符串开头的所有元素,如下所示:

$('[id^=block]').css("display", "none");


此外,.hide()是 的快捷方式.css("display", "none"),因此上面的代码可能只是:

$('#block1,#block2,#block3').hide();
$('[id^=block]').hide();
于 2012-11-10T11:58:57.373 回答
1

你可以这样做:

$('[id^=block]').css("display", "none");

但是,如果您使用某种常见的钩子(例如类或祖先的血统)来定位它们,那就更好了。

于 2012-11-10T12:00:15.790 回答
0

包含 ID 以“block”开头的所有元素

$('[id^="block"]').css("display", "none");
于 2012-11-10T12:00:54.460 回答