我有以下代码:
<a id="1" href"javascript:void(0)" onclick="myfunc();" class="a">click</a>
myfunc(){
var $id=$(this).attr('id');
console.log($id);
}
我收到了未定义的错误......并且无法弄明白。 任何人都可以告诉我什么是happing?
答案 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);
}
你错过了大量的""
和=
和东西