2012-02-20 54 views
0

如何为一个元素创建函数,如each()是否适用于多个元素?类似于每个()但仅适用于一个选择器

我想要做什么,(只是为了举例起见)

$(".element").each(function() { 
    var height = $(this).height(); 
    $(this).css("bottom", "-" + height + "px"); 
}); 

我应该使用Each()或者我应该使用one()

+0

每个都会通过类名“element”遍历所有的元素。 – 2012-02-20 10:39:57

回答

0

jQuery中的每一个都可以完美地与其中的一个元素一起工作。所以你可以继续使用。每个安全的东西都可以。

-1

是什么?怎么样?

$(".element").css("bottom", "-" + $(this).height() + "px"); 

它并不需要在一个函数

+2

这个''不会是'.element'。 – Matt 2012-02-20 10:52:16

1

each()意志作品也罚款只有一个元素的集合,但在这种情况下,它是不是真的有必要和一个元素引入只有这样的开销这是更好干脆写

var height = $(".element").height(); 
$(".element").css("bottom", "-" + height + "px"); 

也注意到one()不是一个选择,因为它的目的是附加有只

一次被称为处理程序
1

只需调用.css函数即可。你可以传递一个匿名函数作为第二个参数,以便完成你想要做的事情。

请记住,这仍然会对与您的选择器匹配的每个元素执行操作。如果您只想将其应用于一个元素,则需要对选择器更具体。

$(".element").css("bottom", function() { 
return "-" + $(this).height() + "px"); 
}); 
相关问题