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

时间:2013-10-09 12:29:50

标签: jquery class visible

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

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

有人可以帮我这个并告诉我如何正确地写它。

我的代码(工作):

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

3 个答案:

答案 0 :(得分:3)

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

您需要做的就是将课程提供给您的元素并修改您的代码:

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

Example fiddle

答案 1 :(得分:2)

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

参考 attribute-starts-with-selector

答案 2 :(得分:0)

为了记录,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');
}