目前我正在使用以下代码,效果很好。
$("#topperAtBaseLevel:visible, #lowerAtBaseLevel:visible, #midAtBaseLevel").hide();
任何优化的代码? (我不能使用同一课程)
我的意思是如何正确使用:visible
?
答案 0 :(得分:0)
这段代码看起来很完美;你正在使用:正确可见。
如果你想知道它是如何工作的,你可以看一下jQuery :visible selector help page,但是用几句话来说它选择了可见元素=)
答案 1 :(得分:0)
这是实现目标的方法。您正确有效地使用选择器。
如果您维护需要隐藏的标记ID的数组,可以使其快一点,然后动态构建您的选择器以按ID查找。 (即使选择器可能更长,这也会更快。按ID选择非常快。)
但是,不需要优化,是吗?我们正在谈论从快速闪电到双重快速闪电。一个超级专业的jQuery pro会做你已经完成的事情。
答案 2 :(得分:0)
嗯,我能想到的是:
$('[id$="AtBaseLevel"]:visible').hide();
这将匹配ID以AtBaseLevel
结尾的任何元素。请注意,较短并不意味着更快,因为ID查找的速度和它一样快。基于属性的选择器不是那么优化的。
答案 3 :(得分:0)
你可以这样做:
$("#topperAtBaseLevel, #lowerAtBaseLevel, #midAtBaseLevel").filter(":visible").hide();
然而,这导致一切都被隐藏,在隐藏元素上调用.hide()
很好,没有错,所以它可能就是这样:
$("#topperAtBaseLevel, #lowerAtBaseLevel, #midAtBaseLevel").hide();