繁体   English   中英

通过jQuery中的其他功能访问DOM元素

[英]Get access of DOM element on other function by this in jquery

我有一个button

<button type="button" data-id="5" class="get_attr" >Click Me</button>

我想获取数据ID值,然后编写代码

<script type="text/javascript">
    $(".get_attr").on("click",function(){
        var id = $(this).data("id");
        console.log("id = "+id);  //id = 5
    });
</script>

假设我想要这个值,或者如果我从这样的代码中调用function ,并且想要这样,则从另一个function对该button执行任何功能:

<script type="text/javascript">
    $(".get_attr").on("click",function(){
        updateValue(this);
    });

    function updateValue(this){ // it will take it as a parameter
        var id = $(this).data("id");
        console.log("id = "+id);  //id = 5
    }
</script>

您不能使用“ this”,因为它是Javascript关键字

<script type="text/javascript">
$(".get_attr").on("click",function(){
    updateValue(this);
});

function updateValue(abc){ // it will take it as a parameter
    var id = $(abc).data("id");
    console.log("id = "+id);  //id = 5
}

现在工作正常...

作为this是一个保留字,参数名称从更改this像其他一些updateValue(thatObj)

 $(".get_attr").on("click",function(){ updateValue(this); }); function updateValue(thatObj){ var id = $(thatObj).data("id"); console.log("id = "+id); } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <button type="button" data-id="5" class="get_attr" >Click Me</button> 

您不能在函数定义中使用保留关键字。 它只需在定义中使用另一个名称即可使用。

<script type="text/javascript">
        $(".get_attr").on("click",function(){
            updateValue(this);
        });

        function updateValue(originalObject){ // it will take it as a parameter
            var id = $(this).data("id");
            console.log("id = "+id);  //id = 5
        }
    </script>

尝试这个

  $(".get_attr").on("click",function(){ var id = $(this).data("id"); console.log("id = "+id); //id = 5 }); $(".get_attr").on("click",function(){ updateValue(this); }); function updateValue(x){ // it will take it as a parameter var id = $(x).data("id"); console.log("id = "+id); //id = 5 } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <button type="button" data-id="5" class="get_attr" >Click Me</button> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM