[jQuery]特定要素を除外した指定の方法

言い換えると、.not()の活用方法。

活用例から学ぶ

完成形なのでこれから読み解けばというか、見たら一発だと思う。

$(function(){
    $('dt').on('click',function(){
        $('dt').not(this).removeClass('active');
        $('dd').not($(this).next('dd')).slideUp();
        $(this).toggleClass('active');
        $(this).next('dd').slideToggle();
    })
})

世の中の一般的な.not()の説明は大体こんな感じ。

.not(【セレクタ】)

でもまあ、慣れてないとセレクタってなんなのよと、ピンポイントで指定するしかないのかよってなるかもしれない。子要素とか兄弟要素を指定しなきゃいけない、そういうときはこうする。

//正
.not($(this).next('dd'))
//誤
.not(this).next('dd')

.not()に続けるんじゃなくて.not()の中に書く。

コメント

タイトルとURLをコピーしました