Javascript 将this.id传递给另一个函数将返回null错误

Javascript 将this.id传递给另一个函数将返回null错误,javascript,Javascript,我正在尝试将一个带有函数的ID传递给另一个函数。然后控制台通知我有一个类型错误:document.getElementById(…)为null。javascript文件在末尾追加,我还尝试将代码添加到一个自动执行函数中,但这并没有解决问题 基本上,我想给子类别div(按钮)添加一个addEventListener,它们应该将其值传递给另一个函数 错误指向此行let maincegory=document.getElementById(recived_value).parentNode.first

我正在尝试将一个带有函数的ID传递给另一个函数。然后控制台通知我有一个
类型错误:document.getElementById(…)为null
。javascript文件在末尾追加,我还尝试将代码添加到一个自动执行函数中,但这并没有解决问题

基本上,我想给子类别div(按钮)添加一个
addEventListener
,它们应该将其值传递给另一个函数

错误指向此行
let maincegory=document.getElementById(recived_value).parentNode.firstChild(this.id)
so
received_值
为空

欢迎任何帮助。多谢各位

HTML:


盒
小盒子
中盒
大箱子
JS:

var subcategory class=document.queryselectoral(“.sub-category”);
var subCategoryArray=Array.from(subCategoryClass);
for(设i=0;i
以上
PassValue
函数输入:

var that = this;
然后在您的
PassValue
函数pass
that.id

... .firstChild(that.id);

有几个问题。我在下面的注释中描述了它们

编辑:根据你的评论,我改为普通函数定义

var subcategory class=document.queryselectoral(“.sub-category”);
var subCategoryArray=Array.from(subCategoryClass);
for(设i=0;i

盒
小盒子
中盒
大箱子

()=>PassValue(this.id)
替换
PassValue(this.id)
请用非lambda函数回答。我还没有意识到他们。感谢您的回答,但这并不能解决
TypeError:---为null
problem@WeAreDoomed再次比较您的代码。当您在我上面的回答中“运行代码片段”时,它清楚地显示了正确的ID.True。我只是想回答,我看到您的代码在示例中运行得很好。我再次检查了代码,但仍然解决了
typeError
…问题。我在HTML中有一个稍微不同的结构,这就是为什么它不起作用。谢谢你的帮助。您是否也可以为lambda函数添加代码?我想如果我能把它和我理解的一个例子进行比较,我就能更容易地理解这个概念。谢谢。我给你介绍一些好的,特别是“比较传统函数和箭头函数”部分。
var that = this;
... .firstChild(that.id);