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更好!