javascript 正则表达式切换菜单
javascript regexp toggle menu
谁能解释一下这是什么意思:
/展开/.test(classes)
我知道正则表达式的开头和结尾是“/”,展开的是 class 的名称。但是 .test(classes) 没有意义。
在这个函数中:
var originalNavClasses;
function toggleNav() {
var elem = document.getElementById('navigation_list');
var classes = elem.className;
if (originalNavClasses === undefined) {
originalNavClasses = classes;
}
elem.className = /expanded/.test(classes) ? originalNavClasses : originalNavClasses + ' expanded';
}
来自:
http://blog.g-design.net/post/42617934013/create-an-accessible-toggle-menu-for-mobile#notes
关于
/expanded/.test(classes)
这里,/expanded/
是一个用文字符号声明的正则表达式对象。 /.../
被称为正则表达式定界符,在第二个 /
之后您可以使用正则表达式修饰符(例如 i
- 忽略大小写,g
- 全局,m
- 多行). classes
是一个变量。 test()
如果 classes
包含 "expanded" 子字符串,则 returns 为真,否则 returns 为假。
有关详细信息,请参阅 RegExp
reference at MDN。
在这个具体的例子中,函数检查classes
是否包含"expanded",如果是,则使用originalNavClasses
,如果不是,则使用originalNavClasses
+ "expanded".
谁能解释一下这是什么意思: /展开/.test(classes)
我知道正则表达式的开头和结尾是“/”,展开的是 class 的名称。但是 .test(classes) 没有意义。
在这个函数中: var originalNavClasses;
function toggleNav() {
var elem = document.getElementById('navigation_list');
var classes = elem.className;
if (originalNavClasses === undefined) {
originalNavClasses = classes;
}
elem.className = /expanded/.test(classes) ? originalNavClasses : originalNavClasses + ' expanded';
}
来自: http://blog.g-design.net/post/42617934013/create-an-accessible-toggle-menu-for-mobile#notes
关于
/expanded/.test(classes)
这里,/expanded/
是一个用文字符号声明的正则表达式对象。 /.../
被称为正则表达式定界符,在第二个 /
之后您可以使用正则表达式修饰符(例如 i
- 忽略大小写,g
- 全局,m
- 多行). classes
是一个变量。 test()
如果 classes
包含 "expanded" 子字符串,则 returns 为真,否则 returns 为假。
有关详细信息,请参阅 RegExp
reference at MDN。
在这个具体的例子中,函数检查classes
是否包含"expanded",如果是,则使用originalNavClasses
,如果不是,则使用originalNavClasses
+ "expanded".