Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 需要帮助将.jpg的扩展名替换为.png或转换图像吗_Javascript_Jquery_Html_Json - Fatal编程技术网

Javascript 需要帮助将.jpg的扩展名替换为.png或转换图像吗

Javascript 需要帮助将.jpg的扩展名替换为.png或转换图像吗,javascript,jquery,html,json,Javascript,Jquery,Html,Json,问题是当这个页面加载时。。。它提取.jpg图像,因为该扩展是硬编码的(请注意_image1.jpg),有时可能没有.jpg图像,而有.png图像。我想首先拉.jpg图像,但如果这不可用,我希望.png图像。。。我该怎么做?我想知道如果.jpg图像不可用,是否有办法重写扩展名 $(document).ready(function() { dealers = $.parseJSON(dealer_json); $('#productdealersTable .productdeal

问题是当这个页面加载时。。。它提取.jpg图像,因为该扩展是硬编码的(请注意_image1.jpg),有时可能没有.jpg图像,而有.png图像。我想首先拉.jpg图像,但如果这不可用,我希望.png图像。。。我该怎么做?我想知道如果.jpg图像不可用,是否有办法重写扩展名

$(document).ready(function() {
    dealers = $.parseJSON(dealer_json);

    $('#productdealersTable .productdealers_dealerid').each(function(i, element) {
        var elemName = $(this).attr("name");
        var elemValue = $(this).val();
        var count = elemName.substring(23, elemName.length);
        elemName = elemName.replace('productdealers_dealerid','dealerid_display_value');
        $('#'+elemName).html($(this).find('option:selected').html());
        var name = $(this).find('option:selected').html();
        var cleanedname = name.replace(/[^a-z0-9]/gi,'');
        $(this).parent().removeClass().addClass('fieldinput '+cleanedname).addClass();
        var elemValue = $(this).val();
        jQuery('#dealerid_display_value'+count).html('<img src="/folder-Files/dealerLogos/'+elemValue+'_image1.jpg" />');

        var linkDiv = $(this).parent().find('.snapshotLink');
        var mpDiv = $(this).parents('.half').find('.marketplace_div');
        $.each(dealers.dealers, function(i, item) {
            if (dealers.dealers[i].id==elemValue) {
                dealers.dealers[i].show_in_pims == true ? linkDiv.show() : linkDiv.hide();
                dealers.dealers[i].sc == true ? mpDiv.show() : mpDiv.hide();
                if (dealers.dealers[i].scraped == 1) {
                    $('#dealers_scraped'+count).val(dealers.dealers[i].scraped);
                }
                return false;
            }
        });
    });



<div class="productdealersItemHeader">
                <h3><span class="h3pad"><a href="javascript:void(0);" class="quickRetailersShowHide" id="quickRetailerOptionShowHide%count%" onclick="showQuickRetailerOptions(%count%);"><span class="dealerid_display_value" id="dealerid_display_value%count%"><img src="/Portal-Files/dealerLogos/%productdealers_dealerid_selectedValue%_image1.jpg"/></span></a></span></h3>
                <div class="dealerHandle productdealersActive"></div>
                <a href="javascript:void(0);" class="deleteRetailerLink deleteRowButton productdealersActive" id="productdealersDeleteImg%count%" onclick="deleteListRow('productdealers', '%count%');">Delete</a>
</div>
$(文档).ready(函数(){
经销商=$.parseJSON(经销商\u json);
$('#ProductDealerTable.ProductDealerId')。每个(函数(i,元素){
var elemName=$(this.attr(“name”);
var elemValue=$(this.val();
var count=elemName.substring(23,elemName.length);
elemName=elemName.replace('productdealers\u dealerid','dealerid\u display\u value');
$('#'+elemName).html($(this.find('option:selected').html());
var name=$(this.find('option:selected').html();
var cleanedname=name.replace(/[^a-z0-9]/gi,”);
$(this).parent().removeClass().addClass('fieldinput'+cleanedname).addClass();
var elemValue=$(this.val();
jQuery('#dealerid_display_value'+count).html('');
var linkDiv=$(this.parent().find('.snapshotLink');
var mpDiv=$(this).parents('.half').find('.marketplace_div');
$。每个(经销商。经销商,功能(i,项目){
if(deralers.deralers[i].id==elemValue){
dealers.dealers[i].show_in_pims==true?linkDiv.show():linkDiv.hide();
deralers.deralers[i].sc==true?mpDiv.show():mpDiv.hide();
if(dealers.dealers[i].scraped==1){
$(“#经销商_scraped”+计数).val(经销商.经销商[i].scraped);
}
返回false;
}
});
});

您可以对该图像提出一个简单的请求,如果该图像可用,请使用它,否则请查找png格式

var image = "http://placekitten.com.s3.amazonaws.com/homepage-samples/408/287.jpg";

function setImages(el, imagesrc) {
  $.get(imagesrc)
    .done(function() {
      document.getElementById(el).src = imagesrc;
    }).fail(function() {
      if (imagesrc.match(/\.jpg$/))
        setImages(el, imagesrc.replace(/\.jpg$/, ".png"))
    });
}


setImages("foo", image)

请在数据中存储正确的文件名/路径,否则您将修复错误的问题。请询问@KevinB。很遗憾,我无法控制存储哪个文件名/路径。您能否解释el参数是什么?或者我如何调用我的类名或Id?以用于您的示例中。不确定如何传递“dealerid\u display\u value”在这个函数中,它是“foo”。不确定el是什么意思。它似乎应该包含一个元素id。