Javascript 未捕获类型错误:element.remove不是函数
当我尝试删除多个元素时,我得到错误uncaughttypeerror:element.remove不是一个函数。我的代码是:Javascript 未捕获类型错误:element.remove不是函数,javascript,Javascript,当我尝试删除多个元素时,我得到错误uncaughttypeerror:element.remove不是一个函数。我的代码是: 删除元素(值、选择器){ 如果(值===未定义){ 返回未定义; }否则{ 如果(选择器===未定义){ 返回未定义; }否则{ 如果(值===true){ var myobj=document.getElementsByTagName(选择器); myobj.remove(); }否则{ 返回false; } } } } 如果将document.getElements
删除元素(值、选择器){
如果(值===未定义){
返回未定义;
}否则{
如果(选择器===未定义){
返回未定义;
}否则{
如果(值===true){
var myobj=document.getElementsByTagName(选择器);
myobj.remove();
}否则{
返回false;
}
}
}
}
如果将document.getElementsByTagName(选择器)
替换为document.getElementById(选择器)
,则不会出现错误。如何修复此问题?更新
我将@wxker的代码片段放在一个循环中以删除所有元素。以下是最终工作代码:
函数删除元素(值、选择器){
如果(值===未定义){
返回未定义;
}else if(选择器===未定义){
返回未定义;
}else if(值===true){
var myobj=document.getElementsByTagName(选择器);
如果(myobj.length>0){
做{
myobj[0]。删除();
}
而(myobj.length>0);
}否则{
console.log(“删除所有“+选择器+”元素”);
}
}否则{
返回未定义;
}
}
document.getElementsByTagName
返回类似HTMLCollection
的元素数组,而document.getElementById
只返回一个元素。这是因为可以有多个元素具有相同的标记
var myobjArr = document.getElementsByTagName(selector);
myobjArr[0].remove();
上面的代码片段可以工作,但您必须管理数组的索引才能删除正确的元素。
document.getElementsByTagName
返回一个类似HTMLCollection
的数组,而document.getElementById
只返回一个元素。这是因为可以有多个元素具有相同的标记
var myobjArr = document.getElementsByTagName(selector);
myobjArr[0].remove();
上面的代码片段可以工作,但您必须管理数组的索引才能删除正确的元素