Передача параметра в css: not селектор - PullRequest
1 голос
/ 12 ноября 2010

У меня есть функция, позволяющая скрыть все элементы на странице, кроме одного элемента.

// 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 ]

4 голосов
/ 12 ноября 2010
$('div').not(thisdiv).slideUp(800);
4 голосов
/ 12 ноября 2010

Измените его на:

function hideAllExcept(thisdiv) {
  $('div:not('+thisdiv+')').slideUp(800);
}
2 голосов
/ 12 ноября 2010
var divid='div:not('+thisdiv+')';
$(divid).slideUp(800);
...