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

时间:2014-06-04 21:20:59

标签: javascript jquery

我有以下代码:

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


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

  }

我收到了未定义的错误......并且无法弄明白。 任何人都可以告诉我什么是happing?

3 个答案:

答案 0 :(得分:1)

*。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>

答案 1 :(得分:0)

我将假设以下代码修复您的语法。如果我错了,请告诉我:

<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>

答案 2 :(得分:-1)

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

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

你错过了大量的""=和东西