2014-09-21 254 views
3

此问题可能是任何复制。但是,经过很多尝试,我找不到适当的解决方案。.remove不是函数

这是我的代码

@Styles.Render("~/Content/css") 
@Scripts.Render("~/bundles/modernizr") 
@Scripts.Render("~/bundles/jquery") 
@Scripts.Render("~/bundles/bootstrap") 
<script> 
    $(document).ready(function() { 
     var els = document.querySelectorAll('body > *'); 
     els[els.length - 1].remove(); //getting error here    
    }) 
</script> 

我不知道为什么我的应用程序是显示浏览器控制台错误,如

TypeError: els[els.length - 1].remove() is not a function 

当我可以在浏览器控制台窗口中运行相同的功能,它的工作原理。但是,当我将我的代码放在页面中时,它显示出像上面那样的错误。我也试图拨打.removeNode(boo)的方法,但它也没有工作。实际上,当我尝试在代码中写入ele[].remove()时,intellisence并不会提示我该功能。

+0

什么价值'在故障点els'? – isherwood 2014-09-21 03:36:24

+0

它是'els [els.length - 1]'元素的一个div。 – Shell 2014-09-21 03:37:35

回答

5

DOMNode s没有remove()方法。使用此:

$(document).ready(function() { 
    var els = document.querySelectorAll('body > *'); 
    $(els[els.length - 1]).remove(); 
}); 

甚至更​​好,这一点:

$(document).ready(function() { 
    $('body > *').last().remove(); 
}); 
+0

啊,是的。必须使用jQuery对象。 – isherwood 2014-09-21 03:38:19

+0

是的,它的工作很好..现在错误消失了,一切都运行正常。我真的很想接受你的回答。但是,所以说我等了8分钟。 :P – Shell 2014-09-21 03:41:54

+0

@kevinwaite它已被删除,因为您已将您的问题发布为答案。如果您对自己的代码有疑问,可以单击页面顶部的_Ask question_按钮。 – JLRishe 2018-02-12 12:52:44