Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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_Jquery - Fatal编程技术网

Javascript 是否有一种优雅的方法来检查是否至少有一个元素具有特定的类?

Javascript 是否有一种优雅的方法来检查是否至少有一个元素具有特定的类?,javascript,jquery,Javascript,Jquery,我有一个元素列表,我想检查是否至少有一个元素具有类demo\u控件 下面的代码可以工作。还有更优雅的方式吗 var a='f_date1,f_date2,f_date3,f_date4,f_field1,f_field2'.split(','); var flag=false; var i; for (i = 0; i < a.length; i++) { if ($('#'+a[i]).hasClass('demo_control')) {

我有一个元素列表,我想检查是否至少有一个元素具有类
demo\u控件

下面的代码可以工作。还有更优雅的方式吗

    var a='f_date1,f_date2,f_date3,f_date4,f_field1,f_field2'.split(',');
    var flag=false;
    var i;
    for (i = 0; i < a.length; i++) {
        if ($('#'+a[i]).hasClass('demo_control')) {
            flag=true;
        }
    }
var a='f_date1,f_date2,f_date3,f_date4,f_field1,f_field2'。拆分(',');
var标志=假;
var i;
对于(i=0;i
如果
demo\u控件对这些字段是唯一的,为什么不:


flag=$(“.demo\u control”).length>0

如果
demo\u control
对这些字段是唯一的,为什么不:


flag=$(“.demo\u control”)。长度>0

这可能是一个优雅的解决方案

const ids = 'f_date1,f_date2,f_date3,f_date4,f_field1,f_field2';
const query = ids.split(',').map(el => `#${el}.demo_control`).join(', ');
const flag = $(query).length > 0;

我所做的只是用类为您的ID创建了一个选择器。并检查是否有与此选择器匹配的elementa。

这可能是一个优雅的解决方案

const ids = 'f_date1,f_date2,f_date3,f_date4,f_field1,f_field2';
const query = ids.split(',').map(el => `#${el}.demo_control`).join(', ');
const flag = $(query).length > 0;
我所做的只是用类为您的ID创建了一个选择器。并检查是否有与此选择器匹配的elementa。

的文档说明:

确定是否将任何匹配的元素分配给给定的类

因此无需显式循环;只需一次性选择元素,并对该选择应用该方法:

let flag = $('#f_date1,#f_date2,#f_date3,#f_date4,#f_field1,#f_field2').hasClass('demo_control');
文件说明:

确定是否将任何匹配的元素分配给给定的类

因此无需显式循环;只需一次性选择元素,并对该选择应用该方法:

let flag = $('#f_date1,#f_date2,#f_date3,#f_date4,#f_field1,#f_field2').hasClass('demo_control');

这是所有你需要做的,以获得一个类计数

flag=document.getElementsByClassName('demo_control').length>0;

这是所有你需要做的,以获得一个类计数

flag=document.getElementsByClassName('demo_control').length>0;

很好的解决方案。在我的特殊情况下,demo_控件并不是这些字段所独有的,因此不会比@trincots answer更好!很好的解决方案。在我的特殊情况下,demo_控件并不是这些字段所独有的,因此不会比@trincots answer更好!