如果 div 元素还没有 img 标签,我正在尝试将 img 标签添加到 div 元素。最好的使用方法是什么?我想在 javascript 和 jquery 中都看到答案,所以它会帮助我学习,但任何一个都可以。
我已经使用 .not() 和 .empty() 进行了一些 jquery 尝试,但我觉得我没有正确考虑它。
如果 div 元素还没有 img 标签,我正在尝试将 img 标签添加到 div 元素。最好的使用方法是什么?我想在 javascript 和 jquery 中都看到答案,所以它会帮助我学习,但任何一个都可以。
我已经使用 .not() 和 .empty() 进行了一些 jquery 尝试,但我觉得我没有正确考虑它。
尝试这个:
if($('#your_div').find('img').length==0){
$('#your_div').prepend('<img src="img/your_image.jpg" />');
}
纯 javascript 不如 JQuery 优雅
var imgexists = false;
for (var i = 0; i < mydiv.children.length; i++) {
if (mydiv.children[i].tagName.toLowerCase() == "img") {
imgexists = true;
break;
};
};
if (!imgexists) {
var img = document.createElement("img");
img.src = "some/path.png";
if (mydiv.children.length > 0) {
mydiv.appendChild(img, mydiv.firstChild);
} else {
mydiv.appendChild(img);
};
};
好的,你有很棒的 jQuery 解决方案,所以我将提出纯 JS 版本:
var div = document.getElementById('div');
if (!div.querySelector('img')) {
var img = document.createElement('img');
img.src = 'image.png';
div.insertBefore(img, div.firstChild);
}
测试:http: //jsfiddle.net/9V2HR/
如您所见,在这种情况下,vanilla JS 几乎与 jQuery 代码一样短。
if ($("#myId img").length === 0) {
$("#myId").append("<img src=\"https://www.google.com/images/srpr/logo4w.png\" />");
}
不要为纯 JavaScript 解决方案而烦恼 - 它会不必要地复杂,并且可能容易出现跨浏览器不兼容
使用length
和标签...是find
的img
预先...不做其他的东西
使用 jQuery
if($('#divID').find('img').length > 0) {
//img present so do other stuff
}else{
var img=$('<img />',{src:"imgsrc.jpg"});
$('#divID').prepend(img)
};