Javascript 将我正在单击的按钮的引用传递到它触发的函数中。JS

Javascript 将我正在单击的按钮的引用传递到它触发的函数中。JS,javascript,jquery,Javascript,Jquery,如何将我正在单击的按钮的引用传递到它触发的函数中 jQuery('<button class="btn"/>') .click(function() { myFunc(this??); return false; }) var myFunc = function (this??) { //I WANT TO CHECK IF THE BUTTONS PARENT HAS A SPECIFIC CLASS HERE

如何将我正在单击的按钮的引用传递到它触发的函数中

jQuery('<button class="btn"/>')
    .click(function() {
        myFunc(this??);
        return false;
    })


var myFunc = function (this??) {

    //I WANT TO CHECK IF THE BUTTONS PARENT HAS A SPECIFIC CLASS HERE

    if(jQuery(this??).parent().hasClass('myClass')){

        //DO STUFF HERE
    }

}
我不能使用类名,因为我的页面上有几个这样的按钮

使用myfuncis。它是将元素传递给函数的正确方法 对函数参数使用除此之外的任何其他名称

jQuery('<button class="btn"/>')
    .click(function () {
    myFunc(this);
    return false;
});
var myFunc = function (elem) {

    //I WANT TO CHECK IF THE BUTTONS PARENT HAS A SPECIFIC CLASS HERE

    if (jQuery(elem).parent().hasClass('myClass')) {

        //DO STUFF HERE
    }

}

不需要在单独的函数中传递它

   jQuery('<button class="btn"/>')
        .click(function() {
               if(jQuery(this).parent().hasClass('myClass')){

                //DO STUFF HERE
            }
            return false;
        })
移除

这是一个变量,不能用作myFunc函数中的变量。更改myFunc声明中变量的名称:

var myFunc = function (myElement) { ... }
然后更改if语句以反映该更改:

jQuery(myElement).parent().hasClass('myClass')

我对jquery了解不多,但使用Js的一个可能解决方案是

<script>
    function onClick1(b)
{

alert(b.parentNode.className);

}
</script>
<div class="divClass">
<button onclick="onClick1(this)">
    hello
</button>
</div>
我们可以在onclick事件属性中传递它,该属性在本例中传递生成事件的元素的引用对象。然后,我们可以引用button的parentNode及其具有className属性的类

HTML


也许有一个原因,他想通过它作为一个论点。这不一定能正确回答问题。它是同一个对象,不管他是作为参数传入还是使用This关键字,对吗?@Grüse jQuery在不同的函数调用中不提供作用域,据我所知。myFunc是一个独立函数,与button元素无关。据我所知,它会立即尝试:啊,好的,我错过了click调用中的附加匿名函数。我指的是这个案例:你当然也可以这么做。。。
<script>
    function onClick1(b)
{

alert(b.parentNode.className);

}
</script>
<div class="divClass">
<button onclick="onClick1(this)">
    hello
</button>
</div>
<div class="myClass"> 
      <button id="btn" class="btnClass">Hi</button>
</div>
$('.btnClass').click(function() {
        myFunc(this);
    });


var myFunc = function (a) {

    //I WANT TO CHECK IF THE BUTTONS PARENT HAS A SPECIFIC CLASS HERE

    if(jQuery(a).parent().hasClass('myClass')){
        alert();
        //DO STUFF HERE
    }

}