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 に答える