我正在尝试确定 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)
首先让我们指定 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");
}
如果我理解正确,你想检查它是否有图像,所以另一种方法我会说你需要检查 src 属性,如果你有一个 img 标签但没有 src 会发生什么?这有时会发生在动态环境中(使用实际的编程代码而不是纯 HTML)。
$('.customData .customdata1').find('img').attr('src');
HTML
<img src="some-url" class="banner-image">
Javascript方式
console.log(document.querySelector('.banner-image').tagName);
jQuery方式:
console.log(jQuery('.banner-image')[0].tagName);
添加 [0] - JQuery 元素转换为 Javascript Dom 对象。如果您有循环,则不需要 [0]。
我刚刚在工作时发现了它,它与任何浏览器兼容。