如何在Ajax调用期间使用加载图像替换TD内的图像

我有一个HTML表格。 在每个单元格中都有一个图像,后跟一些文本。 像这样的东西:

 This is a test  

我必须运行jQuery Ajax调用,在此调用期间,我想将图像更改为我拥有的加载图像(loading.gif),然后在Ajax之后将其返回到常规图像(在本例中为https://stackoverflow.com/questions/4240619/how-can-i-replace-image-inside-a-td-with-loading-image-during-ajax-call/image.gif)完成。

将图像更改为加载图像并再次返回的正确jQuery语法是什么?

我相信你的问题是关于如何在AJAX请求之前更改图像,然后在AJAX请求完成时将其更改回来。

以下是一个示例……这里是jQuery ajax()方法的一些参考。 注意:ajax()方法包含声明成功,错误和完整函数的选项,这些选项可以在AJAX调用成功,错误输出或完成时(即成功或错误之后)执行。

  This is a test  

 $("#loadingImg").attr("src", "loading.gif"); $.ajax({ //other options here complete: function () { $("#loadingImg").attr("src", "http://sofzh.miximages.com/jquery/image.gif"); // change image back when ajax request is complete } }); 

要更改图像相对容易:

 $('img[src="http://sofzh.miximages.com/jquery/image.gif"]').attr('src','path/to/new/image.png'); 

如果你的图像有一个id$('#imageIDname') ,它只适用于那个图像元素)或class$('.imageClassName')虽然那将适用于该类的所有图像,可以改进选择器-名称)。 我不知道你是想将它应用于所有td所有图像还是只应用于一个特定的img元素。

将它与你的ajax调用相结合有点棘手,因为我不知道你的ajax调用是什么样的。

此外,这可能只是我的痴迷,你的元素应该是这样的:

 This is a test 

请注意img标记中的尾随/