[英]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.