首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否按类名删除元素?

是否按类名删除元素?
EN

Stack Overflow用户
提问于 2011-01-24 06:47:16
回答 17查看 311.8K关注 0票数 171

我有下面的代码来查找带有类名的元素:

代码语言:javascript
复制
// Get the element by their class name
var cur_columns = document.getElementsByClassName('column');

// Now remove them

for (var i = 0; i < cur_columns.length; i++) {

}

我只是不知道怎么去掉它们……我是不是必须引用父级什么的?处理这个问题的最好方法是什么?

邮箱:@carim79:

下面是JS:

代码语言:javascript
复制
var col_wrapper = document.getElementById("columns").getElementsByTagName("div");
var len = col_wrapper.length;

alert(len);

for (var i = 0; i < len; i++) {
    if (col_wrapper[i].className.toLowerCase() == "column") {
        col_wrapper[i].parentNode.removeChild(col_wrapper[i]);
    }
}

下面是HTML:

代码语言:javascript
复制
<div class="columns" id="columns">
    <div class="column"><input type="checkbox" name="col_list[]" value="cows">cows</div>
    <div class="column"><input type="checkbox" name="col_list[]" value="cows">cows</div>
    <div class="column"><input type="checkbox" name="col_list[]" value="cows">cows</div>
    <div class="column"><input type="checkbox" name="col_list[]" value="cows">cows</div>
    <div name="columnClear" class="contentClear" id="columnClear"></div>
</div>

编辑:最终只使用了jQuery选项。

EN

回答 17

Stack Overflow用户

回答已采纳

发布于 2011-01-24 06:52:10

使用jQuery (我认为在本例中您确实可以使用它),您可以这样做:

代码语言:javascript
复制
$('.column').remove();

否则,您将需要使用每个元素的父元素来删除它:

代码语言:javascript
复制
element.parentNode.removeChild(element);
票数 225
EN

Stack Overflow用户

发布于 2012-12-28 16:07:46

如果您不喜欢使用JQuery:

代码语言:javascript
复制
function removeElementsByClass(className){
    const elements = document.getElementsByClassName(className);
    while(elements.length > 0){
        elements[0].parentNode.removeChild(elements[0]);
    }
}
票数 235
EN

Stack Overflow用户

发布于 2016-10-17 01:08:52

使用ES6,您可以执行以下操作:

代码语言:javascript
复制
const removeElements = (elms) => elms.forEach(el => el.remove());

// Use like:
removeElements( document.querySelectorAll(".remove") );
代码语言:javascript
复制
<p class="remove">REMOVE ME</p>
<p>KEEP ME</p>
<p class="remove">REMOVE ME</p>

票数 45
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4777077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档