我有一个类,如果它存在,我想将该变量用作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)
我已经测试过了。它完全可以工作。你可能犯了任何其他错误。如果没有找到具有给定类名的元素,则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)