【问题标题】:javascript regexp toggle menujavascript 正则表达式切换菜单
【发布时间】:2015-09-11 23:03:05
【问题描述】:

谁能解释一下这是什么意思: /expanded/.test(类)

我知道'/'开始和结束一个正则表达式,扩展是一个类的名称。但是 .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

【问题讨论】:

    标签: javascript jquery regex toggle


    【解决方案1】:

    关于

    /expanded/.test(classes)
    

    这里,/expanded/ 是一个用文字表示法声明的正则表达式对象。 /.../ 被称为正则表达式分隔符,在第二个 / 之后,您可以使用正则表达式修饰符(如 i - 忽略大小写,g - 全局,m - 多行)。 classes 是一个变量。 test() 仅在 classes 包含“扩展”子字符串时返回 true,否则返回 false。

    更多详情请见RegExp reference at MDN

    在这个具体的例子中,函数检查classes是否包含“扩展”,如果是,使用originalNavClasses,如果不是,使用originalNavClasses +“扩展”。

    【讨论】:

      猜你喜欢
      • 2016-12-20
      • 2011-10-02
      • 1970-01-01
      • 2019-05-11
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多