Es muy sencillo:
$('[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
Pero estoy recomendando usar las herramientas adecuadas para este trabajo. Los ID son útiles para encontrar elementos específicos, pero en su caso es mejor usar una o dos clases y atributos de datos. Por ejemplo:
<div class="tabs" data-component-id="x" data-tab-id="y">
luego encontrar todos los elementos y el uso $ $ (this) .data ('componente-id ') y $ (this) .data (' pestaña-id ') (' pestañas').
$('.tabs').each(function(){
var component_id = $(this).data('component-id');
var tab_id = $(this).data('tab-id');
});
actualización:
No es ejemplo del uso de esta función como:
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
})
}
+1 que fue increíble! – tusar
Gracias, hombre ... Funcionó :) :) –