Прежде всего, удалите операцию присваивания внутри вашей итерационной функции. stack
- это экземпляр --- переназначать его не нужно:
var tousBt = $('img.boutonReduire');
var stack = $('');
tousBt.each( function() {
var id = $(this).attr('id');
stack.add('#table' + id).add('#img' + id);
});
Я бы также предложил избавиться от накладных расходов jQuery, если вы звоните add()
тонны раз. Вот версия, использующая облегченный массив для накопления селекторов:
var tousBt = $('img.boutonReduire');
var stack = [];
tousBt.each( function() {
var id = this.id;
stack.push('#table' + id);
stack.push('#img' + id);
});
Затем, чтобы получить финальный селектор, который вы можете использовать с jQuery:
var selector = stack.join(',');
//$(stack.join(','));
Редактировать: это может показаться абсолютно запаздывающим, но это может на самом деле быть самым быстрым (хотя бы выстрел):
var tousBt = $('img.boutonReduire');
tousBt.each(function() {
var id = this.id;
$('#table' + id).addClass('selected');
$('#img' + id).addClass('selected');
});
var stack = $('.selected');