我想知道是否有一种方法可以在 jQuery 中使用多个选择器并在一次调用中为它们设置不同的值。
例如:
$(selector1, selector2, selector3, ...).css({left:[532, 112, 453, ...]});
提前致谢
已编辑:需要明确的是,您只能调用 .css 一次。可能吗?
再次编辑以澄清:我问这个问题是因为,例如,我调用 animate()...我想保留一个唯一的同步调用/循环。
最佳答案
简短的回答,不,你不能这样做,选择器和你调用的方法不是这样连接的。选择器为您获取一组元素,当发生这种情况时,.css()
(或任何其他)函数不知道您所在的元素在选择器中的位置。
如果你想一下,可能是所有位置,那么它应该做什么?
例如:
$("#div, .class1, .class2").css({left:[532, 112, 453]});
在此 HTML 上应该做什么:
<div id="div" class="class1 class2"></div>
<div id="div2" class="class2 class1"></div>
您会看到它如何很快变得令人困惑,所以不,不支持这样的东西。
公平地说,.css()
does take a functio n,像这样:
$("#div, .class1, .class2").css('left', function(i, val) {
//return new left property here
});
但是这些元素按照它们在文档中出现的顺序排列,与选择器完全无关。
关于javascript - jQuery - 一次调用中的多个选择器和多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3060652/