我是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');
}