【发布时间】:2016-07-24 22:05:41
【问题描述】:
大家快速提问。我知道您可以使用 jQuery 选择多个元素并在一行代码中更改 CSS 属性,如下所示:
$("#custom-h1-id-6, #custom-h1-id-5, #custom-h1-id-4, #custom-h1-id-3, #custom-h1-id-2").css({ 'position' : 'absolute', 'opacity' : '0'});
但最近我在收听 ShopTalk 播客,其中他们提到最好将所有 DOM 查找分配给 Javascript 文件开头的变量,然后在整个文件中使用该变量。我这样做了,但是当我需要更改所有这些元素的 CSS 时,我意识到除了为每个元素编写一行之外,我想不出其他方法来做到这一点,就像这样:
n2.css({ 'position' : 'absolute', 'opacity' : '0'});
n3.css({ 'position' : 'absolute', 'opacity' : '0'});
n4.css({ 'position' : 'absolute', 'opacity' : '0'});
n5.css({ 'position' : 'absolute', 'opacity' : '0'});
n6.css({ 'position' : 'absolute', 'opacity' : '0'});
有没有更简洁的方法来改变所有这些变量的 css 等效于单行 jQuery 方式?我猜我可以创建一个数组并遍历它们,但这几乎破坏了不在同一个项目上执行多个 DOM 查找的性能点......
我确定我忘记了一些简单的事情,谢谢!
【问题讨论】:
-
也许他们并不意味着将所有不同的元素单独分配给单独的变量。根据您的预期用途,它应该比这更灵活。因此,如果您想稍后将它们作为一个组进行操作(尤其是如果您想在脚本期间多次执行此操作),则可以在开头分配一个包含所有这些元素的变量
标签: javascript jquery html css performance