如何在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
标记中的尾随/
。