我有一个功能来隐藏页面上除一个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。

有任何想法吗?非常感谢

最佳答案

更改为:

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

07-23 18:30