9

DIVに画像があるかどうかを判断しようとしています。私のDIVの構造は次のとおりです。

<li class="customData">
  <div class="customdata1"><img src="" /></div>
  <div class="customdata1"><input type="text" /></div>
</li>
4

6 に答える 6

17

これを試して:

$('.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
于 2013-01-18T12:21:44.310 に答える
9

has()セレクターが使える

$('.customData div:has(img)').doSomething()

たとえば、それらを数えたい場合は、何をしたいのかわからない:

  alert(  $('.customData div:has(img)').length)

API リファレンスhttp://api.jquery.com/has-selector/

于 2013-01-18T12:34:23.413 に答える
1

まず最初に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' 文字列でマークされている指定された要素ノードを削除します。

于 2014-06-12T21:49:32.023 に答える
0

多分これが役立つでしょう

if ($(".customData:contains('img')")) {
 console.log("sucess");
}
于 2013-08-09T09:30:28.650 に答える