2017-08-11 76 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>

相关问题