【发布时间】:2011-01-23 22:47:16
【问题描述】:
我有下面的代码来查找带有类名的元素:
// 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++) {
}
我只是不知道如何删除它们.....我必须参考父母还是什么?处理这个问题的最佳方法是什么?
@Karim79:
这里是 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 选项。
【问题讨论】:
-
老实说,最好的方法就是使用 jQuery。真不明白为什么有人想再手动进行 DOM 操作了。
-
我不知道,哈哈……我只是觉得知道框架我会觉得很脏,而且不知道能够实际使用 vanilla JS。因为我不是一个 JS 大佬,所以我在使用 vanilla JS 时尝试使用它来编写代码,这样我就不会忘记事情了,哈哈
-
对。到底谁会想成为一个知识渊博、全面发展的开发人员。荒谬!
-
当然是一个好方法,但仅仅因为您使用的是 jQuery,并不意味着您必须放弃理解它的工作原理或底层 DOM 提供的内容。如果你愿意,你可能会修理你的车(DOM),但你的机械师可能在这方面更有经验(jQuery 团队)。
-
@Lior:是的,我的机械师不需要帮我转动钥匙或摇下车窗。 ;o)