将参数传递给css:not selector

时间:2010-11-12 07:07:41

标签: javascript css selector

我有一个隐藏页面上除div之外的所有div的功能。

// hide all div exceept div1
function hideAllExcept()
{
  $('div:not(#div1)').slideUp(800);
}

// hide all div exceept 'thisdiv' 
function hideAllExcept()
{
  $('div:not("#div1")').slideUp(800);
}

以上工作正常(差异是第一个功能没有“”#div1周围)。但是,我想在hideAllExcept函数中传递一个参数来动态指定哪个div不隐藏。所以我把功能改为:

// hide all div exceept 'thisdiv' 
function hideAllExcept(thisdiv)
{
  $('div:not(thisdiv)').slideUp(800);
}

如果我使用:hideAllExcept('#div1')hideAllExcept("#div1")来调用该函数,则它不起作用。似乎$('div:not(thisdiv)')仍然选择所有div,它不排除thisdiv。

有什么想法吗?非常感谢

3 个答案:

答案 0 :(得分:4)

将其更改为:

function hideAllExcept(thisdiv) {
  $('div:not('+thisdiv+')').slideUp(800);
}

答案 1 :(得分:4)

$('div').not(thisdiv).slideUp(800);

答案 2 :(得分:2)

var divid='div:not('+thisdiv+')';
$(divid).slideUp(800);