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
我想要 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