Javascript 如何删除具有特定innerHTML的所有元素 函数checkIfBlank(){ 让li=document.getElementsByClassName(“li”); 对于(变量i=0;i
我有这个函数,它将删除span的父元素,该span的innerHTML为“hello” 在本例中,我希望代码删除innerHTML为hello的所有元素 但事实证明,当函数执行时,它只删除一个元素Javascript 如何删除具有特定innerHTML的所有元素 函数checkIfBlank(){ 让li=document.getElementsByClassName(“li”); 对于(变量i=0;i,javascript,html,jquery,Javascript,Html,Jquery,我有这个函数,它将删除span的父元素,该span的innerHTML为“hello” 在本例中,我希望代码删除innerHTML为hello的所有元素 但事实证明,当函数执行时,它只删除一个元素 有人能帮我吗?我不是很好xD你可以使用jquery删除带有匹配文本的li,我希望你能得到答案 $('li:contains(“hello”)) .next('span').remove().end() .remove() 你好 你好 你好 你好 你好 你好 你确定没有这样的东
有人能帮我吗?我不是很好xD你可以使用jquery删除带有匹配文本的li,我希望你能得到答案
$('li:contains(“hello”))
.next('span').remove().end()
.remove()代码>
你好
你好
你好
你好
你好
你好
你确定没有这样的东西:
<span class="li">
Hello
</span>
你好
与此相反:
<span class="li">Hello</span>
你好
我想到的第一件事是,如果有任何换行符或空白,那么您肯定需要在该innerHTML字符串上运行.trim()。但是,如果不是这样,我建议在某些地方放一堆console.log(),看看它在for循环中走了多远。出于这种目的,使用
Array.from(element)
更安全
函数checkIfBlank(){
让li=document.getElementsByClassName(“li”);
数组.from(li).forEach(函数(li\u curr){
如果(li_curr.innerHTML==“你好”){
li_curr.parentElement.remove();
}
});
}
checkIfBlank()代码>
-
你好
-
你好
-
你好
-
你好
-
你好
-
你好
喜欢吗?如果您需要任何帮助,请发邮件给我,我很高兴为您提供帮助。您好,感谢您的回答,为什么使用array.from?@coder更好,因为它设计用于与您类似的任务。for{}循环执行操作n次,并且可能不属于n个元素的间隔。我自己也面临着类似的问题。但您完全可以使用另一位受访者提供的jquery解决方案。顺便说一下,这个答案可以缩写为-$('.li:contains(“hello”)).parent().remove();或$('li:contains(“hello”)).remove();。我在第二个解决方案中指出了这一点。啊,好的,谢谢你的解释