获取元素的属性时出现Jquery未定义错误

Jquery undefined error for getting attribute of an element

本文关键字:Jquery 未定义 错误 元素 属性 获取      更新时间:2023-09-26

我有以下代码:

 <a id="1" href"javascript:void(0)" onclick="myfunc();" class="a">click</a>

 myfunc(){
    var $id=$(this).attr('id');
    console.log($id);
  }

我收到未定义的错误。。。却搞不清楚。有人能告诉我发生了什么事吗?

*.js

$(document).on("click",".a",function(){
console.log($(this).attr("id")); 
});

使用jquery,您可以处理单击元素的时间,并使用$(this).attr("attribute") 获取任何属性

*.html

<a id="1" href"javascript:void(0)" class="a">click</a>

我将假设以下代码修复您的语法。请让我知道,如果我的假设是错误的:

<a id="1" href="javascript:void(0)" onclick="myfunc()" class="a">click</a>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
function myfunc(){
    var $id=$(this).attr('id');
    console.log($id);
}
</script>

您的函数实际上只是在全局上下文中调用myfunc,而this关键字引用的是window而不是<a>元素。要解决此问题,请使用onclick="myfunc.call(this)"。完整的代码是:

<a id="1" href="javascript:void(0)" onclick="myfunc.call(this)" class="a">click</a>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
function myfunc(){
    var $id=$(this).attr('id');
    console.log($id);
}
</script>
<a id="1" href="javascript:void(0)" onclick="myfunc()" class="a">click</a>
 myfunc(){
    var $id=$(this).attr('id');
    console.log($id);
  }

你错过了大量的""=以及