2017-08-11 75 views
0

鑑於DOM元素的數組:如何檢查A標籤是否纏繞在IMG元素周圍?

var arr = $("a"); 

你如何檢查,在for循環內,標籤是否這是圍繞一個IMG元素包裝?

arr[i].has("img") 

不工作,因爲它正在獲取數組元素。

+0

而'$'是否代表jQuery?如果是這樣,你錯過了一個標籤 – adeneo

+0

噢 - >'arr.eq(i).has('img')'因爲你沒有一個數組,但是你可以避免使用一組元素 – adeneo

+0

循環使用'$('a')。filter(':has(img)')' –

回答

3

jQuery選擇返回其過載多個功能的陣列。只通過其中一個索引就會失去這些功能。要解決此問題,請執行以下操作:

$(arr[i]).has("img") 

現在,這樣會產生一個具有jQuery功能但只包含您傳遞的項目的數組。

1

var arr = $('a'); 
 
for (var i=0;i<arr.length;i++) { 
 
\t if ($(arr[i]).find('img').length>0) { 
 
    \t console.log('has img'); 
 
    } else { 
 
    \t console.log('has no img'); 
 
    } 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a> 
 
    <img/> 
 
</a> 
 

 
<a></a>

相關問題