select元素如何根据其id后缀和前缀使用jquery?

How select elements using jquery based on its id suffix and prefix?

我想要 select 个具有此 ID 模式的元素:

<div id="prefix_0_sufix"></div>
<div id="prefix_1_sufix"></div>
<div id="prefix_2_sufix"></div>
... and so on ...

如何使用 jquery select 或

获取这些元素?

您可以使用 'attribute starts with' 和 'attribute ends with' 选择器:

$('div[id^="prefix_"][id$="_sufix"]');

但是您应该注意,使用通用的 class 会更加语义化并且速度更快。如果您需要使用元素存储数据,请改用元素的 data 属性。

<div class="foo" data-bar="0"></div>
<div class="foo" data-bar="1"></div>
<div class="foo" data-bar="2"></div>

从那里您可以使用 filter() 从集合中获取特定元素:

var $secondDiv = $('.foo').filter(function() {
    return $(this).data('bar') == 1;
});

或者如果元素是有序的,您可以只使用它们的索引而不添加 data 属性:

var $secondDiv = $('.foo:eq(1)');
$('div[id^="prefix"]').filter(
    function(){
        return this.id.match('suffix');
    }).css('background-color','#0f0');

jQuery Select # id with word as prefix and counter as suffix