2011-02-22 10 views
2

私はQUnitのテストスイートを持っているし、($(document).ready()に登録して、実行される)QUnitのテスト内なぜJQueryの.html()はnullを返しますか?

$('#idForElement').html(); 

を呼び出していますが、この機能はクロム、FirefoxとIEでnullを返します。

FirefoxのFirebugのスクリプトタブでは、コードをウォッチ式として追加することで、そのページに表示されるHTML要素と、FirebugのHTMLタブが表示されます。私はhttp://api.jquery.com/html/読んだ

が、私は新しいvar、initalised文字列にこれを割り当てた、変数に$('#idForElement');の結果を置き、その上.html()と呼ばれ、これらのブラウザでアラートを試してみました。

これを実行するにはどうすればよいですか?

+1

'var foo = $("#idForElement ");が実際にあなたが探していたDOMノードを引っ張っていることを確認しましたか? '.html()'は要素のinnerHtmlを取得するので、ノードに何も含まれていなければ何も取得しません。 –

+0

私は、成功した 'foo'に' .append'していました。 – StuperUser

答えて

2

ルーキーエラー。

$('#idForElement')を呼び出していましたが、varを$( 'idForElement')に設定しました。

空のラップセットに追加することができます。

4

これは、この機能を呼び出すタイミングによって異なる場合があります。 document.readyイベントの前にこれを行うと、要素がまだ存在しない可能性があります。次のようにコードをラップしてみてください。

$(document).ready(function() { 
    //your code goes here 
}); 
+1

準備ができているブロックの中に登録されているQUnitテストの中にあるので、そうではありません。 – StuperUser

関連する問題