Javascript 如何使用';这';函数调用模式中的关键字?
我不明白如何在函数调用中使用“this”。我有一个函数声明,它在.ready()中调用,但不是在对象上调用。我正试图用“.btn\u toggle”类直接在按钮旁边切换div的可见性。但只有按下按钮旁边的div。不是所有类为“.btn\u toggle”的元素旁边的所有div。关于这个主题的大多数答案/引用都与对象上的函数调用有关,而我并没有这样做 我所尝试的是监听带有类“.btn\u toggle”的任何按钮的点击。并使用jquery的.next()将下一个元素作为目标。它可以工作,但会切换“.btn_toggle”旁边的所有divJavascript 如何使用';这';函数调用模式中的关键字?,javascript,jquery,Javascript,Jquery,我不明白如何在函数调用中使用“this”。我有一个函数声明,它在.ready()中调用,但不是在对象上调用。我正试图用“.btn\u toggle”类直接在按钮旁边切换div的可见性。但只有按下按钮旁边的div。不是所有类为“.btn\u toggle”的元素旁边的所有div。关于这个主题的大多数答案/引用都与对象上的函数调用有关,而我并没有这样做 我所尝试的是监听带有类“.btn\u toggle”的任何按钮的点击。并使用jquery的.next()将下一个元素作为目标。它可以工作,但会切换“
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( );
});
}
因为
此
将引用处理程序中单击的按钮,只需将其包装在jQuery中并调用。下一步
:
btn.click(function() {
$(this).next().toggle();
});
啊,我用的是“this.next()”。愚蠢的在没有jquery的情况下,如何在相同的上下文中选择“this”?编辑:如何选择此选项您必须迭代所有按钮,并为每个按钮添加一个侦听器
document.queryselectoral('.btn_toggle').forEach((btn)=>{btn.addEventListener('click',function(){/*add click function,这指的是btn*/
(不过,对于上面的例子,不需要这个
,因为由于迭代的缘故,您已经有了对btn
的引用).next()
的普通JS版本是