それは簡単です:
$('[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
しかし、私が推薦していますこの仕事に適切なツールを使用する。 IDは特定の要素を見つけるのに便利ですが、あなたのケースでは1つまたは2つのクラスとデータ属性を使用する方が良いでしょう。たとえば、次のように
<div class="tabs" data-component-id="x" data-tab-id="y">
そして、すべての$( 'タブ ')の要素を見つけて、$(this)を使用.dataの(' コンポーネント-ID ')と$(この).dataセクション(' タブ-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
})
}
+1を見て、それは最高だった! – tusar
ありがとうございました..それは働いた:) :) –