Diberikan array elemen dom:

var arr = $("a");

Bagaimana Anda memeriksa, dalam for loop, apakah tag A ini membungkus elemen IMG?

arr[i].has("img")

Tidak berfungsi karena mengambil elemen array.

0
knox-flaneur 11 Agustus 2017, 03:43

2 jawaban

Jawaban Terbaik

Selektor jQuery mengembalikan array yang kelebihan beban dengan sejumlah fungsi. Dengan mengambil salah satu dari indeks tersebut, Anda kehilangan fungsi tersebut. Untuk mengatasinya lakukan:

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

Ini sekarang menghasilkan array yang memiliki fungsi jQuery, tetapi hanya berisi item yang Anda lewati.

3
Andre M 11 Agustus 2017, 00:51
var arr = $('a');
for (var i=0;i<arr.length;i++) {
	if ( $(arr[i]).find('img').length>0 ) {
  	console.log('has img');
  } else {
  	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>
1
MrGeek 11 Agustus 2017, 00:50