如果类存在,请使用Javascript执行某些操作

Ale*_*lex 12 html javascript

我有一个类,如果它存在,我想将该变量用作true/false if语句.

HTML

<div id="snake" class="snake--mobile">
Run Code Online (Sandbox Code Playgroud)

JS

var isMobileVersion = document.getElementsByClassName('snake--mobile');
if (isMobileVersion !== null)
  alert('xx');
Run Code Online (Sandbox Code Playgroud)

但是,它不起作用.有任何想法吗?请不要jQuery回答.

Vis*_*ioN 26

getElementsByClassName返回NodeList其是阵列状物体.您可以检查它length以确定是否存在具有已定义类的元素:

var isMobileVersion = document.getElementsByClassName('snake--mobile');
if (isMobileVersion.length > 0) {
    // elements with class "snake--mobile" exist
}
Run Code Online (Sandbox Code Playgroud)


小智 15

这是 Javascript 中检查类(hasClass)的非常示例解决方案:

const mydivclass = document.querySelector('.mydivclass');
// if 'hasClass' is exist on 'mydivclass'
if(mydivclass.classList.contains('hasClass')) {
    // do something if 'hasClass' is exist.
}
Run Code Online (Sandbox Code Playgroud)


Que*_*tin 5

getElementsByClassName返回一个节点列表。它永远不会null。它可能有一个.length的0。


Kru*_*cha 5

我已经测试过了。它完全可以工作。你可能犯了任何其他错误。如果没有找到具有给定类名的元素,则getElementsByClassName返回空,或者返回具有给定类的元素列表。这样你就可以使用索引来访问它。

var isMobileVersion = document.getElementsByClassName('snake--mobile');
if (isMobileVersion.length > 0) {
  isMobileVersion[0].style.color="red";
  alert('class exist');
}
Run Code Online (Sandbox Code Playgroud)
<div id="snake" class="snake--mobile">Class Exist div </div>
Run Code Online (Sandbox Code Playgroud)