我有下面的代码来查找带有类名的元素:
// 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:
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:
<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选项。
发布于 2011-01-24 06:52:10
使用jQuery (我认为在本例中您确实可以使用它),您可以这样做:
$('.column').remove();
否则,您将需要使用每个元素的父元素来删除它:
element.parentNode.removeChild(element);
发布于 2012-12-28 16:07:46
如果您不喜欢使用JQuery:
function removeElementsByClass(className){
const elements = document.getElementsByClassName(className);
while(elements.length > 0){
elements[0].parentNode.removeChild(elements[0]);
}
}
发布于 2016-10-17 01:08:52
使用ES6,您可以执行以下操作:
const removeElements = (elms) => elms.forEach(el => el.remove());
// Use like:
removeElements( document.querySelectorAll(".remove") );
<p class="remove">REMOVE ME</p>
<p>KEEP ME</p>
<p class="remove">REMOVE ME</p>
https://stackoverflow.com/questions/4777077
复制相似问题