简体   繁体   English

该函数的含义是什么?

[英]what's the meaning of the function?

function hasClass( elem, cls ) {
var reClass = new RegExp(' ' + cls + ' ');
return reClass.test(' ' + elem.className + ' ');
}

i am a new learner of javascript, i saw the above function from a book.but i don't what's the meaning of it? 我是javascript的新手,我从一本书中看到了上述功能。但是我不知道它的含义是什么? expect someone can explain it to me.many thanks. 希望有人可以向我解释。非常感谢。

It's just testing whether a given element contains a given class. 它只是测试给定元素是否包含给定类。 This is useful for elements with multiple classes (older browsers don't support that by default). 这对于具有多个类的元素很有用(默认情况下,旧版浏览器不支持该类)。

Consider an element like <div id='test' class="button login"></div> . 考虑类似<div id='test' class="button login"></div>的元素。 If you pass that to the function, you'll get as follows: 如果将其传递给函数,将得到如下结果:

function hasClass( elem, cls ) {

    // var reClass = new RegExp(' login ');
    var reClass = new RegExp(' ' + cls + ' ');

    // return reClass.test(' button login ');  (ie, true)
    return reClass.test(' ' + elem.className + ' ');
}
console.log(hasClass(document.getElementById('test'), 'login'));

Demo here 在这里演示

它检查元素的class属性是否包含指定的类(cls)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM