我有一个 a-tag ,其内容如下:(并且有一些a-tags被动态填充,因为它保留在PHP循环中。)
echo "<a onclick='trygettheid();' class='mainList' id='main' href='index.php?idd=".$reK['catid']."'><div class='AS1'>".$reK['catdescriptor']."</div></a>";
,JS函数如下所示。
function trygettheid()
{
var myvariable = $(this).attr('id');
alert(myvariable);
}
问题是当触发点击时,警告显示'undefined'而不是'main'
的所需输出我在这里遗漏了什么吗?
答案 0 :(得分:4)
在函数this
内部没有引用被点击的元素,它可能是window
个对象。要修复它,将引用作为参数传递给函数。虽然不需要使用jQuery,因为id
可以从元素id
属性获取。
PHP:
echo "<a onclick='trygettheid(this);' class='mainList' id='main' href='index.php?idd=".$reK['catid']."'><div class='AS1'>".$reK['catdescriptor']."</div></a>";
// ------^------
<小时/> JS:
function trygettheid(ele){
// -----^-----
var myvariable = ele.id;
// ---^--^----
alert(myvariable);
}