Javascript 需要帮助将.jpg的扩展名替换为.png或转换图像吗
问题是当这个页面加载时。。。它提取.jpg图像,因为该扩展是硬编码的(请注意_image1.jpg),有时可能没有.jpg图像,而有.png图像。我想首先拉.jpg图像,但如果这不可用,我希望.png图像。。。我该怎么做?我想知道如果.jpg图像不可用,是否有办法重写扩展名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
$(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。