Как я могу исключить $(this) из селектора jQuery?
у меня что-то вроде этого:
<div class="content">
<a href="#">A</a>
</div>
<div class="content">
<a href="#">B</a>
</div>
<div class="content">
<a href="#">C</a>
</div>
когда одна из этих ссылок нажата, я хочу выполнить .скрыть () функцию на ссылки, которые не были нажаты. Я понимаю, что jQuery имеет селектор :not, но я не могу понять, как его использовать в этом случае, потому что необходимо, чтобы я выбирал ссылки с помощью $(".content a")
Я хочу сделать что-то вроде
$(".content a").click(function()
{
$(".content a:not(this)").hide("slow");
});
но я не могу выяснить, как использовать :не селектор правильно в этом случай.
4 ответов:
попробуйте использовать
not()метод вместо:not()селектор.$(".content a").click(function() { $(".content a").not(this).hide("slow"); });
можно использовать
not
вы также можете использовать jQuery в
.siblings()способ:HTML
<div class="content"> <a href="#">A</a> <a href="#">B</a> <a href="#">C</a> </div>Javascript
$(".content").on('click', 'a', function(e) { e.preventDefault(); $(this).siblings().hide('slow'); });рабочая демонстрация:http://jsfiddle.net/wTm5f/
вы должны использовать метод "siblings () "и предотвратить запуск".содержание " селектор снова и снова только для применения этого эффекта:
HTML
<div class="content"> <a href="#">A</a> </div> <div class="content"> <a href="#">B</a> </div> <div class="content"> <a href="#">C</a> </div>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/
Comments