Javascript 将this.id传递给另一个函数将返回null错误
我正在尝试将一个带有函数的ID传递给另一个函数。然后控制台通知我有一个Javascript 将this.id传递给另一个函数将返回null错误,javascript,Javascript,我正在尝试将一个带有函数的ID传递给另一个函数。然后控制台通知我有一个类型错误:document.getElementById(…)为null。javascript文件在末尾追加,我还尝试将代码添加到一个自动执行函数中,但这并没有解决问题 基本上,我想给子类别div(按钮)添加一个addEventListener,它们应该将其值传递给另一个函数 错误指向此行let maincegory=document.getElementById(recived_value).parentNode.first
类型错误:document.getElementById(…)为null
。javascript文件在末尾追加,我还尝试将代码添加到一个自动执行函数中,但这并没有解决问题
基本上,我想给子类别div(按钮)添加一个addEventListener
,它们应该将其值传递给另一个函数
错误指向此行let maincegory=document.getElementById(recived_value).parentNode.firstChild(this.id)
soreceived_值
为空
欢迎任何帮助。多谢各位
HTML:
盒
小盒子
中盒
大箱子
JS:
var subcategory class=document.queryselectoral(“.sub-category”);
var subCategoryArray=Array.from(subCategoryClass);
for(设i=0;i
以上PassValue
函数输入:
var that = this;
然后在您的PassValue
函数passthat.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);