我有一个 a-tag ,其内容如下:(并且有许多 a-tag 被动态填充,因为它保留在 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'输出
我在这里遗漏了什么吗?
最佳答案
在函数内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);
}
关于javascript - 未定义的 JS 警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41649769/