jQuery: исключить $ (this) из селектора

У меня есть что-то вроде этого:

A
B
C

Когда одна из этих ссылок нажата, я хочу выполнить функцию .hide () на ссылках, которые не нажаты. Я понимаю, что jQuery имеет: not selector, но я не могу понять, как его использовать в этом случае, потому что необходимо, чтобы я выбирал ссылки, используя $(".content a")

Я хочу сделать что-то вроде

 $(".content a").click(function() { $(".content a:not(this)").hide("slow"); }); 

но я не могу понять, как правильно использовать: not selector в этом случае.

Попробуйте использовать метод not() вместо селектора :not() .

 $(".content a").click(function() { $(".content a").not(this).hide("slow"); }); 

Вы можете использовать функцию not а не :not selector:

 $(".content a").not(this).hide("slow") 

Вы также можете использовать метод jQuery .siblings() :

HTML

 
A B C

Javascript

 $(".content").on('click', 'a', function(e) { e.preventDefault(); $(this).siblings().hide('slow'); }); 

Рабочая демонстрация: http://jsfiddle.net/wTm5f/

Вы должны использовать метод «siblings ()» и не запускать селектор «.content a» снова и снова только для применения этого эффекта:

HTML

 
A
B
C

CSS

 .content { background-color:red; margin:10px; } .content.other { background-color:yellow; } 

Javascript

 $(".content a").click(function() { var current = $(this).parent(); current.removeClass('other') .siblings() .addClass('other'); }); 

См. Здесь: http://jsfiddle.net/3bzLV/1/

  • Почему мы не можем использовать это ключевое слово в статическом методе
  • В чем разница между Class.this и этим в Java
  • Давайте будем гением компьютера.