219

私はこのようなものを持っています:

<div class="content">
    <a href="#">A</a>
</div>
<div class="content">
    <a href="#">B</a>
</div>
<div class="content">
    <a href="#">C</a>
</div>

これらのリンクの 1 つがクリックされたときに、クリックされていないリンクに対して .hide() 関数を実行したいと考えています。jQuery には :not セレクターがあることは理解していますが、この場合の使用方法がわかりません。これを使用してリンクを選択する必要があるためです。$(".content a")

私は何かをしたい

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

しかし、この場合、:not セレクターを適切に使用する方法がわかりません。

4

4 に答える 4

420

selectorの代わりにnot() methodを使用してみてください。:not()

$(".content a").click(function() {
    $(".content a").not(this).hide("slow");
});
于 2009-01-13T04:39:46.153 に答える
43

セレクターnotではなく関数を使用できます。:not

$(".content a").not(this).hide("slow")
于 2009-01-13T04:39:55.137 に答える
5

「siblings()」メソッドを使用し、その効果を適用するためだけに「.content a」セレクターを何度も実行しないようにする必要があります。

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/

于 2014-02-16T13:27:34.130 に答える