0

我有一个简单的函数,我想在某个类的所有元素上运行。我希望在加载 DOM 后立即运行此函数;不在事件处理程序上。

下面是将在诸如悬停之类的事件处理程序上运行的代码。如何在加载 DOM 后立即运行它?

$(document).ready(function(){
    var displayname = $(".displayname");

    function alignSpans(){
        var spanheight = this.offsetHeight;
        var cssbottom = spanheight + "px";
        this.style.bottom = cssbottom; 
    }

    displayname.hover(alignSpans);

});

displayname.alignSpans();不工作

4

2 回答 2

2

假设displayname是一个 jQuery 对象,您可以使用作为包含的 DOM 元素.each()调用回调函数this(这与事件处理程序的约定非常方便)

displayname.each(alignSpans);
于 2010-01-10T00:57:29.030 回答
1

这就是 .each() 函数的用途。我也让你的代码更有效率:

$(document).ready(function(){
    $(".displayname").each(function() {
        $(this).css("bottom", $(this).height()); 
    });
});
于 2010-01-10T01:01:41.747 回答