gpt4 book ai didi

javascript - 无法理解 classie.js API

转载 作者:行者123 更新时间:2023-12-02 16:34:40 26 4
gpt4 key购买 nike

大家好,我正在另一个网站上研究幻灯片和推送菜单的示例,并且正在努力理解源下载中包含的 classie.js 文件中的 if 语句。

if ( 'classList' in document.documentElement ) {
hasClass = function( elem, c ) {
return elem.classList.contains( c );
};
addClass = function( elem, c ) {
elem.classList.add( c );
};
removeClass = function( elem, c ) {
elem.classList.remove( c );
};
}
else {
hasClass = function( elem, c ) {
return classReg( c ).test( elem.className );
};
addClass = function( elem, c ) {
if ( !hasClass( elem, c ) ) {
elem.className = elem.className + ' ' + c;
}
};
removeClass = function( elem, c ) {
elem.className = elem.className.replace( classReg( c ), ' ' );
};
}

我似乎无法理解第一个 IF 语句。我的理解是document.documentElement返回 <html>标签,但那是什么 'classList'商业?我唯一能找到的就是mdn ,但我根本不明白 IF 语句正在测试什么。任何帮助,将不胜感激。谢谢

最佳答案

较新的浏览器支持 DOM 元素节点上的 .classList 属性。它是一个类名数组。旧版浏览器仅支持 .className 属性,它是包含空格分隔的类名的单个字符串。

如果您发布的代码中的 if 语句发现文档节点具有 .classList 属性,则它知道它正在较新的浏览器上运行。如果没有,那么它会创建一些类管理实用程序的替代版本。

关于javascript - 无法理解 classie.js API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28026379/

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