我是jQuery的新手,并创建了一个小代码片段来检查表单上是否有任何(即一个或多个)以下ID可见。
代码工作正常,但我想知道我是否可以通过检查我可以分配给每个ID的类或名称来实现相同的目的,这样它也可以处理更多ID,我不必分别提及它们。
有人可以帮我这个并告诉我如何正确地写它。
我的代码(工作):
if(($('#fail1').is(':visible')) || ($('#fail2').is(':visible')) || ($('#fail3').is(':visible')))
{
// do something;
}
答案 0 :(得分:3)
这正是一个类的行为 - 在一组元素上复制逻辑。可以在jQuery中使用id
属性选择器,尽管它们相对较慢并且应该用作最后的手段。
您需要做的就是将课程提供给您的元素并修改您的代码:
if ($('.fail').is(':visible')) {
alert('at least one element is visible');
}
答案 1 :(得分:2)
if($( "[id^='fail']" ).is(':visible') )
{
// do something;
}
答案 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');
}