2016-05-30 13 views
0

jsスクリプトの中でdata-val-requiredが特定の要素に存在するかどうかを認識しようとしています。data-val-requiredが存在するかどうかを調べる

var attrExist = $('#myElem').find('[data-val-required]'); 
    if (attrExist.length > 0){ 
      // todo 
    } 

これは機能しませんが、私はいつもコンソール[attrExist]を[オブジェクト]として取得しています。

データ値必須attrが存在するかどうかをテストするにはどうすればよいですか?

更新: レンダリングされたHTMLが

あなたが行うことができます
<select id="myElem" class="multiselect form-control" name="someName" 
     multiple="multiple" data-val-required="This field is required." 
     data-val="true" style="display: none;"> 
+0

「id = "myElem"」の要素は何ですか?それは 'data-val-required'属性を含む子要素を含んでいますか(または要素自体にその属性が含まれていますか)? –

答えて

1

問題を抱えている子要素をチェックしますそれはfind()の外観がであることです#myElem属性がdata-val-requiredの要素が存在する場合。

だから#myElem属性data-val-required使用持っているかどうかを確認したい場合:idと属性の両方を持っている任意の要素がある場合

var dataAttr = $('#myElem').data('val-required'); 
//var dataAttr = $('#myElem').attr('data-val-required'); // alternative 
if (typeof dataAttr !== typeof undefined && dataAttr !== false) { 
    // attribute is set 
} 

別の方法として、あなたは、idと属性を使用して、(見ることができますがセレクタ)。この解決策は、クラスを使用するときに最も効果的です。

if($('#myElem[data-val-required]').length > 0) { 
    // element with that attribute exists 
} 
1

のように見え、

if ($('#myElem[data-val-required]').length > 0) 

あなたのコードは、コード内でdata-val-required属性

関連する問題