2016-05-30 23 views
0

裏面的js腳本我試圖識別是否存在某些元素的數據val-required。檢查數據val要求是否存在

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

但這不起作用,因爲我總是在控制檯attrExist內部以Object []方式獲取。

如何測試數據val所需的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使用:

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和屬性的元素(通過使用ID和屬性選擇)。這個解決方案在使用類時最有意義。

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

你可以做,

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

您的代碼將檢查具有data-val-required屬性