如果不支持类列表,则使用回退优化javascript函数

如果不支持类列表,则使用回退优化javascript函数,javascript,Javascript,我有下一个代码: dom.remove_class = function(element, class_name) { // For Chrome, Firefox... if (element.classList) { return element.classList.remove(class_name); } // Fallback var replace = (" " + element.className + " ").r

我有下一个代码:

dom.remove_class = function(element, class_name)
{
    // For Chrome, Firefox...
    if (element.classList)
    {
        return element.classList.remove(class_name);
    }

    // Fallback
    var replace = (" " + element.className + " ").replace(/[\n\t\r]/g, " ").replace(" " + class_name + " ", "");

    if(replace > -1)
    {
        element.className = replace;

        return true;
    }

    return false;
}
对于支持元素.classList.remove()的浏览器,返回该元素很容易,但我发现(受jQuery启发)返回true或false的唯一方法是回退部分。有人知道我如何改进这段代码吗?还是现在就这样

提前谢谢你

它是如何在:


为什么不填充
classList
并直接使用它而不是
dom。删除\u class
hello@Raynos:shim是什么意思?对不起,我是javascript新手,我的英语不流利。提前谢谢你!。包括它。神奇的类列表工作
var removeClass = function (elm, className) {
    if (document.documentElement.classList) {
        removeClass = function (elm, className) {
            elm.classList.remove(className);
        }
    } else {
        removeClass = function (elm, className) {
            if (!elm || !elm.className) {
                return false;
            }
            var regexp = new RegExp("(^|\\s)" + className + "(\\s|$)", "g");
            elm.className = elm.className.replace(regexp, "$2");
        }
    }
    removeClass(elm, className);
}