我不明白如何在函数调用中使用“ this”。我有一个函数声明,即在.ready()中调用的函数,但没有在对象上调用。我正在尝试使用'.btn_toggle'类直接在按钮旁边切换div的可见性。但只有按下按钮旁边的div。并非所有div都位于类“ .btn_toggle”的所有元素旁边。关于主题的大多数SO答案/参考都与对象的函数调用有关,而我并未这样做
我尝试的内容包括侦听类'.btn_toggle'的任何按钮的单击。并使用jquery的.next()定位下一个元素。它可以工作,但会将所有div切换到“ .btn_toggle”旁边。
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( );
});
}
答案 0 :(得分:2)
因为this
将引用处理程序中被单击的按钮,只需将其包装在jQuery中并在其上调用.next
:
btn.click(function() {
$(this).next().toggle();
});