Rất đơn giản:
$('[id^=tabId][id$=componentId]').each(function(){
var id = $(this).attr('id'); // tabId:someDynamicId:rowId:componentId
var list = id.split(':');
console.log(list[0]); // tabId
console.log(list[1]); // someDynamicId
console.log(list[2]); // rowId
console.log(list[3]); // componentId
})
Wildcards in jQuery selectors
Nhưng tôi đang giới thiệu để sử dụng các công cụ phù hợp cho công việc này. ID là hữu ích cho việc tìm kiếm phần tử cụ thể, nhưng trong trường hợp của bạn tốt hơn là sử dụng một hoặc hai lớp và thuộc tính dữ liệu. Ví dụ:
<div class="tabs" data-component-id="x" data-tab-id="y">
Sau đó, tất cả các yếu tố $ và sử dụng $ .data (this) ('thành phần id ') và $ (this) .data (' tab-id ') (' tab.')
$('.tabs').each(function(){
var component_id = $(this).data('component-id');
var tab_id = $(this).data('tab-id');
});
cập nhật:
có ví dụ của việc sử dụng điều này như chức năng:
function(tabId,componentId) {
$('[id^='+tabId+'][id$='+componentId+']').each(function(){
var id = $(this).attr('id'); // tabId:someDynamicId:rowId:componentId
var list = id.split(':');
console.log(list[0]); // tabId
console.log(list[1]); // someDynamicId
console.log(list[2]); // rowId
console.log(list[3]); // componentId
})
}
Nguồn
2012-03-30 05:31:57
+1 thật tuyệt vời! – tusar
Cảm ơn người đàn ông .. Nó đã làm việc :) :) –