0
鉴于DOM元素的数组:如何检查A标签是否缠绕在IMG元素周围?
var arr = $("a");
你如何检查,在for循环内,标签是否这是围绕一个IMG元素包装?
arr[i].has("img")
不工作,因为它正在获取数组元素。
鉴于DOM元素的数组:如何检查A标签是否缠绕在IMG元素周围?
var arr = $("a");
你如何检查,在for循环内,标签是否这是围绕一个IMG元素包装?
arr[i].has("img")
不工作,因为它正在获取数组元素。
jQuery选择返回其过载多个功能的阵列。只通过其中一个索引就会失去这些功能。要解决此问题,请执行以下操作:
$(arr[i]).has("img")
现在,这样会产生一个具有jQuery功能但只包含您传递的项目的数组。
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>
而'$'是否代表jQuery?如果是这样,你错过了一个标签 – adeneo
噢 - >'arr.eq(i).has('img')'因为你没有一个数组,但是你可以避免使用一组元素 – adeneo
循环使用'$('a')。filter(':has(img)')' –