Все просто:
$('[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
})
Подстановочные знаки в селекторах jQuery
Но я рекомендую использовать правильные инструменты для этой работы. Идентификаторы полезны для поиска конкретного элемента, но в вашем случае лучше использовать один или два класса и атрибуты данных. Например:
<div class="tabs" data-component-id="x" data-tab-id="y">
Затем найдите все элементы $ ('. Tabs') и используйте $ (this) .data ('component-id') и $ (this) .data ('tab-id')
$('.tabs').each(function(){
var component_id = $(this).data('component-id');
var tab_id = $(this).data('tab-id');
});
Обновление:
Есть пример использования этого как функции:
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
})
}