Javascript getElementById在通过HTMLcollection循环时尝试追加时引发错误
我试图附加一些动态创建的html。它在使用getElementById时抛出错误。审计表元素是DOM中具有该特定类的divJavascript getElementById在通过HTMLcollection循环时尝试追加时引发错误,javascript,Javascript,我试图附加一些动态创建的html。它在使用getElementById时抛出错误。审计表元素是DOM中具有该特定类的div <div class="audit-table-element"></div> Javascript: var elems = document.getElementsByClassName('audit-table-element'); for(var i = 0; i < elems.length; i++) { elems[i]
<div class="audit-table-element"></div>
Javascript:
var elems = document.getElementsByClassName('audit-table-element');
for(var i = 0; i < elems.length; i++) {
elems[i].getElementById("always-audit-table" + category.id + "")
.getElementsByTagName("tbody")[0]
.insertAdjacentHTML("beforeend", auditTableRow);
}
错误-TypeError:elems[i]。getElementById不是函数
当我删除行getElementByIdalways audit table+category.id+时,追加正在工作,但追加到了错误的位置。因此,我需要将该行添加到HTML的正确位置您可以使用querySelector而不是getElementById。您的代码应该如下所示
elems[i].querySelector("[id = always-audit-table" + category.id + "]")
.getElementsByTagName("tbody")[0]
.insertAdjacentHTML("beforeend", auditTableRow);
querySelector:它们用于根据HTML元素的id、类、类型、属性、属性值等选择HTML元素
您可以使用querySelector而不是getElementById。您的代码应该如下所示
elems[i].querySelector("[id = always-audit-table" + category.id + "]")
.getElementsByTagName("tbody")[0]
.insertAdjacentHTML("beforeend", auditTableRow);
querySelector:它们用于根据HTML元素的id、类、类型、属性、属性值等选择HTML元素
我不知道您的代码是什么样子,但我尝试在这里创建一个示例。看看这个,你的疑虑会消除的 var testRow=数据1数据2; var ele=document.getElementsByClassName'test'; forvar i=0;i