检查类或名称而不是 ID(简单代码)



我是jQuery的新手,并且创建了一个小代码片段来检查表单上是否可以看到以下ID中的任何一个(即一个或多个(。

代码工作正常,但我想知道我是否可以通过检查可以分配给每个 ID 的类或名称来实现相同的目标,以便它也可以处理更多 ID,我不必单独提及它们中的每一个。

这里有人可以帮助我解决这个问题并告诉我如何正确编写它。

我的代码(工作(:

if(($('#fail1').is(':visible')) || ($('#fail2').is(':visible')) || ($('#fail3').is(':visible')))
{
    // do something;
}

这正是类所针对的行为 - 在一组元素上复制逻辑。可以在jQuery中使用id属性选择器,尽管这些选择器相对较慢,应作为最后的手段使用。

您需要做的就是将类分配给您的元素并像这样修改您的代码:

if ($('.fail').is(':visible')) {
    alert('at least one element is visible');
}

示例小提琴

if($( "[id^='fail']" ).is(':visible') )
{
    // do something;
}

引用属性开始于选择器

为了记录,jQuery不需要这样做:

if (Array.prototype.some.call(document.querySelectorAll('.fail'), function (n) {
      return (window.getComputedStyle(n).display !== 'none');
    })) {
    console.log('at least one element is visible');
}

最新更新