如何在函数调用模式中使用'this'关键字?



我不明白如何在函数调用中使用'this'。我有一个函数声明,它在 .ready(( 中调用,但不在对象上调用。我正在尝试直接在带有".btn_toggle"类的按钮旁边切换div 的可见性。 但只有按下的按钮旁边的div。并非所有div 都位于类为".btn_toggle"的所有元素旁边。关于主题的大多数 SO 答案/参考都与对象的函数调用有关,我没有这样做

我尝试的包括监听任何带有类".btn_toggle"的按钮的单击。 并使用jquery的.next((定位下一个元素。 它可以工作,但在".btn_toggle"旁边切换所有div。

jQuery ( document ).ready( function ( $ ) {
    toggleSubDiv(); 
});
function toggleSubDiv ( ) {
    var btn, target;
    btn = $( '.btn_toggle' );
    target = $( '.btn_toggle' ).next();
    // click listener on btn class 'btn_toggle'
    btn.click( function () {
    // toggle visibility
    target.toggle( );
    });
}

>因为this会引用处理程序中点击的按钮,所以只需将其包装在jQuery中并在其上调用.next

btn.click(function() {
  $(this).next().toggle();
});

相关内容

最新更新