2017-01-31 6 views
-3

jQueryの動作に問題があります。 (私は "foo" というレンダリングされますが、 "FOO" をされていない意味し、 "失敗" による)なぜ1つのクラス名に対してそれぞれの作業が行われますが、別のクラス名では動作しませんか?

<script> 
var createTablesImpl = function(index, value) { 
    $(value).prepend("<div>FOO</div>"); 
}; 
$(".yesPagingTable").each(createTablesImpl); 
</script> 

<div class="yesPagingTable"> 
    foo 
</div> 
<br/><br/> 

をしかし、これは失敗します:このようなコードは動作します

<script> 
var createTablesImpl = function(index, value) { 
    $(value).prepend("<div>FOO</div>"); 
}; 
$(".yesPagingTableX").each(createTablesImpl); 
</script> 

<div class="yesPagingTableX"> 
    foo 
</div> 
<br/><br/> 

自分のプロジェクトで定義しているcssクラスがありません。限り、私はこれらの変数のいずれかがどこかにCSSで定義されていると知っている限り、他はありません)。

+1

これを引き起こす可能性のあるクラスの名前には何も基本的なものはありません。コードの残りの部分は同一であるため、コードの一部ではわからない部分があるはずです。詳細情報が必要です。 – tonythewest

+1

あなたはどんなふるまいをしていますか、何を見たいですか? 「これは失敗します」とは、私たちが手助けできるほど正確ではありません。 – tonythewest

+0

あなたの言うことが真実なら、私は$(function(){/ * code here * /})のようにjQueryをラップしないといけないと思います; '' X '要素が存在しないことを読み取る。 – PHPglue

答えて

4

HTMLがレンダリングされる前にJavaScriptが実行されている可能性があります。おそらくドキュメントを準備しておくといいでしょう。スクリプトは、すべてのHTMLがロードされるまで待機します。

<script>   
    $(document).ready(function() { 
     var createTablesImpl = function(index, value) { 
      $(value).prepend("<div>FOO</div>"); 
     }; 
     $(".yesPagingTableX").each(createTablesImpl); 
    }); 
</script> 

<div class="yesPagingTableX"> 
    foo 
</div> 
<br/><br/> 
+0

ありがとうございました@Dais。それはまさに何が起こっていたのですか。とてもイライラしました。 – John

+0

あなたは大歓迎です! – Dais

関連する問題