$('#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
答案 0 :(得分:1)
c
是包含jQuery对象的变量,因此您需要使用其中一个上下文选择器:
$('> div', c).hide();
$('> div', c).eq(xdiv).show();
答案 1 :(得分:1)
我建议您使用.find()
$(c).find('> div').hide();
$(c).find('> div').eq(xdiv).show();
答案 2 :(得分:0)
你可以使用它。
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();