与each()类似,但仅适用于一个选择器

时间:2012-02-20 10:38:21

标签: javascript jquery

如何为一个元素创建一个函数,比如each()为多个元素做了什么?

我想做什么,(仅仅是为了示例)

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

我应该使用Each()还是应该使用one()

4 个答案:

答案 0 :(得分:1)

each()对于仅包含一个元素的集合也可以正常工作,但在这种情况下它并不是必需的,并且一个元素只引入开销,所以最好简单地写一下

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

还要注意one()不是替代选择,因为它的目的是附加一个必须只调用一次的处理程序

答案 1 :(得分:1)

如果你只想做一次,只需调用.css函数即可。您可以将匿名函数作为第二个参数传递,以便执行您要执行的操作。

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

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

答案 2 :(得分:0)

jQuery每个都只能与其中的一个元素完美配合。所以你可以继续使用.each安全

答案 3 :(得分:-1)

像这样?

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

它不需要在函数中

相关问题