Javascript 我需要保留元素引用以传递

Javascript 我需要保留元素引用以传递,javascript,dom,Javascript,Dom,当用户单击标记时,它调用如下函数: <a href="#" onclick="func1(this)">; ; 此函数为需要引用第一个按钮的模式生成HTML func1(elem) { html='<div class="modaldiv">' + '<a href="#" onclick="func2(e.srcElement)">'+ '</div>'; } func1(元素){ html=“”+ ''+ ''; } 单击

当用户单击
标记时,它调用如下函数:

<a href="#" onclick="func1(this)">;
此函数为需要引用第一个按钮的模式生成HTML

func1(elem) {
  html='<div class="modaldiv">' +
  '<a href="#" onclick="func2(e.srcElement)">'+
  '</div>';

}
func1(元素){
html=“”+
''+
'';
}
单击模式内的链接时,
func2()
应将文本保存到第一个链接内的数据属性中,但这不起作用,返回:

“未捕获的语法错误:意外标识符”


首先,不要使用内联HTML事件处理属性(
onclick
onmouseover
,等等),

但是,您的实际问题是没有正确地声明函数

此:
func1(元素)

需要这样做:
函数func1(elem)

接下来,您将
“+”;
document.body.innerHTML+=html;
}

您希望在哪里定义
e
?从技术上讲,您可以使用
onclick=“func2(event.srcElement)”
,因为
事件是在字符串求值的事件处理程序中定义的,但这种方法被认为是不好的做法,应该避免。请注意,如果要定义
func2()
,则,您会得到
uncaughtreferenceerror:e没有像我在评论中指出的那样定义。也许你也应该解决这个问题?@PatrickRoberts我正在更新我的答案,但不得不接一个电话。对不起,我不是想让你感到匆忙或其他什么。非常彻底的回答现在~嗨,斯科特,谢谢你的回答,但是你指出的错误就像没有关键字功能一样。我发现关于不使用内联事件处理程序的信息非常有用,谢谢。代码只是为了说明我的需要。强调真正的问题是如何向dom传递某种引用element@DiegoLeitão我不确定您所说的“但是您指出的错误就像没有关键字函数”是什么意思,我的回答确实说明了如何将引用传递给DOM元素。