如果不支持类列表,则使用回退优化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);
}