在我的Wordpress中,我将自定义附件大小设置为128x79和896x277。我的图片肯定会大于128x79 。如果图像小于896x277,则会裁掉大于最大尺寸的图像,并将另一个图像设置为最大尺寸。意味着500x300的图像将被裁剪为500x277。
让我们在我的页面上说我有一个带有href http://domain.com/files-128x79.jpg
的图片,我想用files-128x79.jpg
取代files-896x277.jpg
如果它存在,否则,找到高度为最高的最大图像。
好的......我决定简化我的问题以使其更容易。我现在所做的就是检查文件是否存在-896x277.jpg,如果不存在,我希望它输出files.jpg。到目前为止我已经得到了这个,但似乎无法设置锚点href。
$rewrite.find('a').each(function(index, element) {
$.ajax({
url : $(this).children().attr('src').replace('-128x79.', '-896x277.'),
type: 'head',
success : function() {
$(this).attr('href', $(this).children().attr('src').replace('-128x79.', '-896x277.'));
},
error : function(xhr, d, e) {
if (xhr.status == 404) {
$(this).attr('href', $(this).children().attr('src').replace('-128x79.', '.'));
}
}
});
});
我做错了什么?
答案 0 :(得分:0)
是的,你可以这样做:
var image = 'files-128x79.jpg';
$(function () {
$.ajax({
url : 'search_images.php',
success : function(filelist) {
//YOu have the filelist in a string. Just parse it to find the image
...
var imageExists = (filelist.indexOf(image) >= 0); //Search the image
if (!imageExists ) {
alert('The image was not found');
}
},
});
});
PHP:
search_images.php (linux)
echo `ls /images/files-*.jpg`; //This will list all the images in your directory
希望这会有所帮助。干杯
答案 1 :(得分:0)
在AJAX回调中,this
中的内容是什么?它仍然是导致事件发生的因素吗?如果是这样,哪个事件? AJAX结果事件?
我建议将this
保存到本地变量,以确保它包含您期望的内容:
$(function () {
var that = $(this);
$.ajax({
url : that.children()....