使用jQuery,如何找到应用特定填充顶部值的所有位置,然后将其从现有值增加?
我看了选择器,我找不到这样的东西。
答案 0 :(得分:2)
你真的想搜索整个DOM吗?这相当效率低下:
$('*').each(function() {
var padTop = $(this).css('padding-top'); // get the padding
if (padTop > 0)
$(this).css('padding-top', padTop + x); // add x to it if more than 0
});
似乎each()
优于filter()
,因为我们可以通过填充进行过滤并在同一范围内增加它。强烈建议用你能负担得起的最具体的选择器替换'*'
。
答案 1 :(得分:1)
您可以使用filter和一个检查元素上特定填充的函数吗?
虽然可能是一个缓慢的声明......
答案 2 :(得分:1)
您是否尝试仅将此应用于特定类型的元素(仅限div
s?)。在这种情况下,你可以做一些像@Jeroen所提到的:
$('div').filter(function() { return this.style.paddingTop == "2px"; }) // use your specific padding value.