如何用变量替换div的id?

时间:2014-05-02 06:53:17

标签: jquery

$('#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

3 个答案:

答案 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();