$('#divsT > div').hide(); //works
$('#divsT > div').eq(xdiv).show(); //works
Мне нужно заменить #divsT
на переменную, но здесь что-то не так:
var a = $(this).parent().attr('id'); //result: xdivsT
var b = a.replace("x", ""); // result: divsT
var c = $('#' + b); // should be #divsT
c > div.hide(); // doesn't work
c > div.eq(xdiv).show(); // doesn't work
Я просто предлагаю вам использовать .find()
$(c).find('> div').hide();
$(c).find('> div').eq(xdiv).show();
c
- переменная, содержащая объект jQuery, поэтому вам нужно использовать один из этих контекстных селекторов:
$('> div', c).hide();
$('> div', c).eq(xdiv).show();
Вы можете использовать это.
var a = $(this).parent().attr('id'); //result: xdivsT
var b = a.replace("x", ""); // result: divsT
var c = '#' + b; // should be #divsT
$('+c+' > div).hide(); // doesn't work
$('+c+' > div).eq(xdiv).show();
div is not defined
!
c
объекта. Что-то вроде:$('#' + b) > div.hide();
$('#' + b + ' > div').hide();
Конкатенация простых строк