使用javascript删除课程

Str*_*ger 0 javascript

我需要从页面中的所有元素中删除特定的class属性.那就是我们需要从当前html页面的所有元素中删除特定的类.我们只有类名作为引用(我们需要从该页面中删除)而不是其他内容.

请注意,我不能使用任何像id或其他类的引用,也不能使用任何JavaScript库也...

对此有任何建议将不胜感激.

另请注意,我们需要删除的类不会超过两次.

ZER*_*ER0 8

如果您使用的是现代浏览器:

var forEach = Array.prototype.forEach;
var className = "yourclass";

forEach.call(document.querySelectorAll("." + className), function(node) {
    node.classList.remove(className);
});
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅:forEach,querySelectorAllclassList.


gio*_*_13 6

function removeClass(className) {
    // convert the result to an Array object
    var els = Array.prototype.slice.call(
        document.getElementsByClassName(className)
    );
    for (var i = 0, l = els.length; i < l; i++) {
        var el = els[i];
        el.className = el.className.replace(
            new RegExp('(^|\\s+)' + className + '(\\s+|$)', 'g'),
            '$1'
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

并将其用作:

removeClass('desired-class-name');
Run Code Online (Sandbox Code Playgroud)

更新:请参阅现场演示:http://jsbin.com/eyuxur

  • `getElementsByClassName`返回一个实时集合.当你从一个元素中删除你过滤的类时,索引将移一个,使循环的其余部分都错误.你应该向后迭代*. (2认同)