jqueryのend()用法およびエラー例

1129 ワード

一般的なシーン:
ある要素find()の下のサブ要素がイベントをバインドし、end()を使用して要素を返し、find()の下の他のサブ要素を続行します.....
$container.find('.tag-management').on('click', function () {
                ......
            }).end().find('.checkbox').on('click',function () {
                ......
            });

エラーの例:
同じオブジェクトに対してチェーン操作が異なる方法の場合、同じオブジェクトであることに注意し、end()を使用しないでください.
$container.find('.tagBtn').on('click',function () {
                if($(this).hasClass('yv-btn-primary')){
                    $(this).removeClass('yv-btn-primary').end().addClass('yv-btn-default').end().attr('data-original-title','       '); //    
                    $(".tagResource").hide();
                }else{
                    $(this).removeClass('yv-btn-default').addClass('yv-btn-primary').attr('data-original-title','       ');//    
                    $(".tagResource").show();
                }
            });

end()を使用すると、現在のオブジェクトに対してaddClass()操作とattr()操作を行うことができません.