0

私は認められたjquerynoobであり、APIドキュメントとjsfiddleを介してライブラリを学習しています。私は現在、以下が期待どおりに機能しない理由を理解しようとしています。

これがhtmlの簡単なセクションです

<div class="trigger">Trigger</div>
<div class="result"></div>
<div class="log"></div>

これが私が試しているjqueryです...

$(document).ajaxComplete(function (event, xhr, settings) {
    if (settings.url === "ajax/test.html") {        
        $(".log").hide();
        $("Triggered ajaxComplete handler. The result is " + xhr.statusText).appendTo(".log").fadein();
    }
});

$(".trigger").click(function () {
    $(".result").load("ajax/test.html");
});

残念ながら、「Triggered ajax ...」というテキストがセレクターとして扱われているため、未処理の例外がスローされているため、append操作が正しく実行されていないようですが、appendTo()についての私の理解はjquery APIを読み取ることによる機能は、このようにその場でコンテンツを作成できることです。明らかに私はどこかで間違っているのは明らかであり、なぜこれが間違っているのか、そしてこれを修正するために私ができることを説明してくれた人に感謝します。

4

2 に答える 2

2

.text()代わりに使用してください。

$(".log").hide()
         .text("Triggered ajaxComplete handler. The result is " + xhr.statusText)
         .fadeIn();

.append()それ以外の場合は、代わりに使用する必要があります。

$(".log").hide()
         .append("Triggered ajaxComplete handler. The result is " + xhr.statusText)
         .fadeIn();

これらの2つの方法は同じではないことに注意してください。前者はのコンテンツを置き換え、.log後者はにテキストを追加します.log

于 2013-02-23T10:58:10.873 に答える
0

試す

$(".log").html("Triggered ajaxComplete handler. The result is " + xhr.statusText)
     .fadeIn();
于 2013-02-23T11:03:10.130 に答える