Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果类存在,请使用Javascript执行一些操作_Javascript_Html - Fatal编程技术网

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

如果类存在,请使用Javascript执行一些操作,javascript,html,Javascript,Html,我有一个类,如果它存在,我想将该变量用作true/false if语句 HTML 但是,它不起作用。有什么想法吗?请不要回答jQuery。GetElementsByCassName返回类似数组的对象。您可以检查其长度,以确定是否存在具有已定义类的元素: var isMobileVersion = document.getElementsByClassName('snake--mobile'); if (isMobileVersion.length > 0) { // element

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

HTML


但是,它不起作用。有什么想法吗?请不要回答jQuery。

GetElementsByCassName
返回类似数组的对象。您可以检查其
长度
,以确定是否存在具有已定义类的元素:

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

getElementsByClassName
返回节点列表。它永远不会为空。它的
.length
可能是
0

我已经测试过了。它完全起作用了。你可能犯了其他任何错误getElementsByClassName如果未找到具有给定类名的元素或返回具有给定类的元素列表,则返回empty。所以您可以使用索引访问它

var ismobilevision=document.getElementsByClassName('snake--mobile');
如果(isMobileVersion.length>0){
isMobileVersion[0]。style.color=“红色”;
警报(“类存在”);
}
Class Exist div
querySelector()来自文档的方法返回与指定选择器匹配的第一个元素,否则,如果不匹配,则返回null

console.log(`existing class element${document.querySelector('.existing class')}`)
console.log(`non-existing class element${document.querySelector('.non-existing class')}`)
if(document.querySelector('.existing类')){
警报('内部if块')
}

以下是Javascript中check类(hasClass)的示例解决方案:

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

可能重复@dcc我想要一个非jQuery的解决方案你错了
getElementsByClassName
从不返回
null
。在您的示例中,检查结果是否为非
null
,该结果将始终为
true
,因为
NodeList
对象不是falsy。尝试检查“类不存在”,您将看到。我已经检查了我的示例。如果找不到类,它将返回空对象。thanx@VisioN用于纠正我的错误尽管如此,您的更新并没有解决问题,因为
if(x)
仍将检查
true
值。评估元素是否存在的唯一方法是将
length
属性与
0
进行比较,正如其他答案中所描述的那样。查看:您好,请不要仅使用源代码进行回答。试着提供一个关于你的解决方案如何工作的很好的描述。请参阅:。谢谢
var isMobileVersion = document.getElementsByClassName('snake--mobile');
if (isMobileVersion.length > 0) {
    // elements with class "snake--mobile" exist
}
var id=$("#main .slides .gallery-cell.is-selected").attr('id');
var isselected = document.getElementById(id);
isselected.scrollIntoView({behavior: "smooth", block: "center", inline: "center"});
 Syntax
 element = document.querySelector(selectors);
const mydivclass = document.querySelector('.mydivclass');
// if 'hasClass' is exist on 'mydivclass'
if(mydivclass.classList.contains('hasClass')) {
   // do something if 'hasClass' is exist.
}