如果图像不存在,则添加新元素

时间:2011-07-23 12:59:53

标签: jquery

我正在尝试使用类pic查找图像,如果它不存在,我想完成一些任务,如果确实存在,我不想做任何事情。我尝试了以下代码但没有成功。无论我做什么,我都会收到警报。

img代码

<img src="" class="pic">

jquery的

$(".stxt, .stxt2").each(function() {
if ($(this).find("img.pic").length === 0) {
        $(document).ready(function() {
            var unitSize = 10; // width (and height) of one square
            var unitsWide = 6; // number of squares along x-axis
            var unitsTall = 6; // number of squares along y-axis
            var drawing = $('<div class="drawing"></div>').css({
                width: unitSize * unitsWide
            });
            for (var i = 0; i < unitsWide * unitsTall; i++) {
                var randomColor;
                randomColor = Math.random() * 0x1000000; // 0 < randomColor < 0x1000000
                randomColor = Math.floor(randomColor); // 0 < randomColor <= 0xFF5F0FF
                randomColor = randomColor.toString(16); // hex representation randomColor
                randomColor = ("000000" + randomColor).slice(-6); // leading zeros added
                randomColor = "#" + randomColor; // # added
                $('<span class="square"></span>').css({
                    display: 'block',
                    float: 'left',
                    width: unitSize,
                    height: unitSize,
                    'background-color': randomColor
                }).appendTo(drawing);
            }
            drawing.insertBefore($(this).find("div.dtxt2, div.dtxt"));
        });
    }
});

3 个答案:

答案 0 :(得分:3)

jQuery(function(){
    if ($("img.pic").length === 0) { 

      alert("Doing something");

    }else{

      //Do nothing

    };
});

答案 1 :(得分:0)

您可以使用onerror标记

img事件处理该问题

HTML

<img src="" class="pic" onerror="HandleError(this)">

的JavaScript

function HandleError(obj_img){
    alert("Doing Something");
    //obj_img.src = 'path/to/image-not-found/image';
}

或者像这样使用jQuery。

$('img.pic').error(function() {
    alert("Doing Something");
    //$(this).attr("src", "path/to/image-not-found/image");
})

答案 2 :(得分:0)

我不确定上下文中的“this”是什么,但您可以尝试

if ($("img.pic").length === 0) { 
    //Code
}