如果图像不存在,如何使用其他图像?使用('#id')。attr(“ src”

里克

我是一名C程序员,试图修复我未创建的某些代码中的错误。单击表格的一行时,它会将图像设置为ID为“ square”

$('#square').attr("src","image/"+row.id+"_2_1.jpg");

但是,有些图像被命名为_3_1.jpg(不受我的控制),因此我想检查_2_图像是否存在,如果不存在,请加载_3_变体。

使用“ onerror”似乎无效,插入IF语句将阻止整个表的加载。

这是整个功能:

$('#table').on('click-row.bs.table', function (e, row, $element) {
    if(config["homing_tool"] == "1"){
            $('#detail').show();
            $('#detail1').hide();
            $('#detail2').hide();
            $('.homing').hide();
    }else{
            $('#detail').show();
            $('#detail1').show();
            $('#detail2').show();

            $('#iris').attr("src","image/"+row.id+"_0_1.jpg");
            $('#square').attr("src","image/"+row.id+"_2_1.jpg");
    };
    var x;
    for (x in row) {
        if(x == "type"){
            $('#'+x).html(spec[row[x]]["name"]);
        }else{
            $('#'+x).html(row[x]);
        }
    }
});

编辑:感谢您的建议!据我所知,所有数据都是本地数据,因此无需连接到服务器并使用HTTP请求。我明天将尝试其他建议。我必须远程访问的PC比我早6个小时,并且它们一天都处于关闭状态。

里克

通过一些调试和反复试验,我能够适应在加载图像之前检查图像是否存在所需的条件。

谢谢大家!

为了后代,我使用了:

function getSquareURL(rowid)
{
    var image = new Image();
    
    image.onload = function()
    {
        $('#square').attr("src","image/"+rowid+"_2_1.jpg");
        return true;
    }
    image.onerror = function()
    {
        $('#square').attr("src","image/"+rowid+"_3_1.jpg");
        return false;
    }

    image.src = "image/"+rowid+"_2_1.jpg";
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章