gpt4 book ai didi

javascript - 如果不支持 classList,则使用回退优化 javascript 函数

转载 作者:行者123 更新时间:2023-11-30 18:41:29 25 4
gpt4 key购买 nike

我有下一个代码:

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;
}

很容易为支持它的浏览器返回 element.classList.remove() 但我发现(受 jQuery 启发)关于如何返回 true 或 false 的唯一方法是回退部分。任何人都知道我如何改进这段代码?或者就像现在一样正确?

提前致谢!

最佳答案

它是如何在 Mozilla hack site 上完成的:

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);
}

关于javascript - 如果不支持 classList,则使用回退优化 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6746230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com