DIVに画像があるかどうかを判断しようとしています。私のDIVの構造は次のとおりです。
<li class="customData">
<div class="customdata1"><img src="" /></div>
<div class="customdata1"><input type="text" /></div>
</li>
DIVに画像があるかどうかを判断しようとしています。私のDIVの構造は次のとおりです。
<li class="customData">
<div class="customdata1"><img src="" /></div>
<div class="customdata1"><input type="text" /></div>
</li>
これを試して:
$('.customData div').each(function() {
if ($(this).find('img').length) {
// there is an image in this div, do something...
}
});
img
これにより、 の下の任意のレベルでが検索されますdiv
。直系の子孫のみが必要な場合は、これをif
条件に使用します。
$(this).children('img').length
has()
セレクターが使える
$('.customData div:has(img)').doSomething()
たとえば、それらを数えたい場合は、何をしたいのかわからない:
alert( $('.customData div:has(img)').length)
API リファレンスhttp://api.jquery.com/has-selector/
まず最初にdivを指定しましょう
var dD = getElementById("desiredDivID");
divの子要素を見つけることができます:
var elements = dD.childNodes.length;
次に、すべての要素ノードをループします。
for(index = 0; index < elements; index++){
node = dD.childNodes[index];
if (node && node.nodeType == 1 && node.nodeName == 'IMG'){
dD.removeChild(node);
}
}
最後の if ステートメントでは、ノードが存在することを確認し、ノード タイプとノード名を確認します。これらのチェックのそれぞれが true を返す必要があり、.removeChild(node) は、'IMG' 文字列でマークされている指定された要素ノードを削除します。
多分これが役立つでしょう
if ($(".customData:contains('img')")) {
console.log("sucess");
}