Javascript 理解classie.js API有困难
大家好,我正在浏览另一个站点上的幻灯片和推送菜单示例,我正在努力理解classie.js文件中的if语句,该文件包含在源代码下载中Javascript 理解classie.js API有困难,javascript,classiejs,Javascript,Classiejs,大家好,我正在浏览另一个站点上的幻灯片和推送菜单示例,我正在努力理解classie.js文件中的if语句,该文件包含在源代码下载中 if ( 'classList' in document.documentElement ) { hasClass = function( elem, c ) { return elem.classList.contains( c ); }; addClass = function( elem, c ) { elem.classList.
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
返回
标记,但是'classList'
业务是什么?我能在上面找到的唯一东西是on,但我根本不明白IF语句在测试什么。任何帮助都将不胜感激。谢谢较新的浏览器支持DOM元素节点上的.classList
属性。这是一个类名数组。较旧的浏览器只支持.className
属性,该属性是一个包含空格分隔的类名的字符串
如果您发布的代码中的
If
语句看到文档节点具有.classList
属性,则它知道它正在较新的浏览器上运行。如果没有,则会创建一些类管理实用程序的替代版本。document.documentElement
中的“类列表”只需检查document.documentElement
元素中是否存在类列表
从
如果指定的属性在指定的对象中,则
中的运算符返回true
@是的,现在就修!