2016-08-23 26 views
-3

JSON解析関数内に要素を作成します。特定の文字列が含まれている場合に備えて、クラスにクラスを追加したいと思います。私はそれがロードされている場合は後でチェックされる解析関数の最後に要素を追加しようとしましたが、解析が非同期プロセスなので長いロード時間の場合は役に立たない。解析が完了したかどうかを確認する方法はありますか?jQueryは、動的に作成された要素にクラスを追加します。

$(document).ready(function(){ 
    $.getJSON(data, function(dat) { 
    $.each(dat, function (k, da) { 
     $('div').append('<p>'+ da.string +'</p>'); 
    }); 
    $('div').append('<p id="loaded">loaded</p>'); 
    }); 

    var loaded = setInterval(function() { 
    if ($('#loaded').length) { 
     $('p:contains("blahblah")').addClass('blah'); 
     clearInterval(checkExist); 
    } 
    }, 100); 
}); 
+1

要素を作成するときになぜあなたはあなたのクラスを追加しませんか? – kaveh

+0

まあ、外部の関数から追加されたコンテンツもあるので、作成時には知られていません – pedmillon

+0

'$ .ajax'を使ってデータを取得することができます。 '.done'と' .always'を持っています。私はfirefoxでjsfiddleのテストをしました。 'always'は' done'が実行を完了した後に呼び出されます。私はこれがどこに書かれているのかを知ることができなかったので、あなたがライブラリをテストし、確認したり調べたりする必要があるかもしれません。 fiddleへのリンク - > https://jsfiddle.net/zjoy60mn/1/ –

答えて

0

contains..please使用中の誤植があり、この

$("p:contains(blahblah)").addClass('blah'); 
関連する問題