3

ボタンをクリックするdivと、いくつかの情報が表示されます。.innerHTML目標は.slideDown、div のテキストが追加されたときに div を作成することです。jQuery でそれを行うことは可能ですか?

例:

<div id="calcInfo"></div>

div へのテキストの追加 -

document.getElementById("calcInfo").innerHTML = 'someText';

私はそれの後にこの機能を使いたい:)

if ($('#calcInfo').text().trim().length > 0) {
   $('#calcInfo').slideDown('slow', function() {});
};

関数を試していましたが、要素.change()に対してのみ機能します。答えてくれてありがとう!inputtextarea

オンドレイ

4

1 に答える 1

11

$.html 関数を拡張することで実現できます。このような:

(function($)
{
    var oldHtml = $.fn.html;
    $.fn.html = function()
    {
        var ret = oldHtml.apply(this, arguments);

        //trigger your event.
        this.trigger("change");

        return ret;
    };
})(jQuery);

イベント ハンドラーをアタッチします。

$("#calcInfo").on("change",function(){
     if ($(this).text().trim().length > 0) {
        $(this).slideDown('slow', function() {});
     };
});

html を変更する必要がある場合。次のようにします。

$("#calcInfo").html('someText');
于 2013-07-28T12:12:06.937 に答える