2015-12-23 23 views
5

私のページ内にこのdivがあります。jqueryは無効な要素を取得していません。

<div class="workspace" id="workspace"> 
    <div data-ng-repeat="node in controller.Nodes" on-last-repeat=on-last-repeat> 
    </div> 
</div> 

私のタイプコードでは、必須フィールドが設定されていないかどうかをチェックします。

if ($('#workspace').find('.ng-invalid').length != 0) 

これは機能しません。長さは常に0です。私はまた、以下を試しましたが運はありません:

if ($('#workspace').find('.has-error.form-control').length != 0) 
if ($('#workspace').find('.invalid').length != 0) 

アイデアはありますか?

+0

停止:jQueryを使ってすべての無効な要素を反復処理するには

each(index, object)を使用しています。角度を使用、角度を考える –

+2

これはあなたの問題を解決することはできませんが、それでも便利なヒントです: '$( '#workspace')。find( '。ng-invalid')'は '$( '#workspace .ng-invalid')' 。 – Anders

答えて

0

子要素にはクラス属性がありません。あなたは、むしろhas attribute selectorを使用することができます。

if ($('#workspace').find('[data-ng-repeat]').length != 0) 
+0

それは適切な長さを返していますが、どのように無効なクラスだけのものを見つけることができますか? –

+1

@GeraldGonzales:共有htmlにクラスを持つ要素はありません。クラス名を持つhtmlを共有してください。 –

0

それはドキュメントが完全に準備ができている前に、あなたはjQueryの部分を実行するので、それがあることは可能ですか?

if ($('#workspace .ng-invalid').length != 0) { 
    console.log('found in FIRST'); 
} 

// on document.ready 
$(function() { 
    if ($('#workspace .ng-invalid').length != 0) { 
    console.log('found in SECOND'); 
    } 
}); 

のみ第二のトリガー:

は、私はこのような例があります。 jQueryのを使用して

$(function() { 
    $('#workspace .ng-invalid').each(function (index, object) { 
    console.log(object); 
    }); 
}); 
関連する問題