2010-11-21 3 views
1

У меня есть таблица HTML. В каждой ячейке есть изображение, за которым следует некоторый текст. Что-то вроде этого:Как заменить изображение внутри TD с загружаемым изображением во время вызова Ajax

<td> 
    <img src='image.gif'>This is a test 
</td> 

Я должен выполнить вызов JQuery Ajax и во время этого разговора я хочу изменить изображение на погрузочное изображение, которое я имею (loading.gif), а затем вернуть его к обычному изображению (image.gif в этом случае) после завершения Ajax.

Каков правильный синтаксис jQuery для изменения изображения на загружаемое изображение и обратно?

+0

Что ваш вопрос о том? Как обратиться к изображению или как изменить источник изображения? –

+0

@Pekka - обновленный вопрос, чтобы быть более явным – leora

ответ

5

Я считаю, что ваш вопрос касается того, как изменить изображение перед запросом AJAX, а затем изменить его, когда запрос AJAX будет завершен.

Ну ниже образец ... и вот некоторая ссылка на jQuery ajax() method. Примечание. Метод ajax() содержит опции для объявления успеха, ошибки и полной функции, которые могут быть выполнены, когда вызов AJAX успешный, ошибки или завершены (т.е. после успеха или ошибки).

<td> 
    <img id="loadingImg" src='image.gif'>This is a test 
</td> 

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

Чтобы изменить изображение относительно легко:

$('img[src="image.gif"]').attr('src','path/to/new/image.png'); 

Селектор может быть улучшен, если ваш образ был id ($('#imageIDname'), который будет применяться только к этому элементу один изображения) или class ($('.imageClassName') хотя что применимо к всем изображениям этого класса-имени). Я не знаю, хотите ли вы применить это к всем изображениям всего td s или только одному конкретному img элементам.

Сцепление, которое для вашего вызова ajax немного сложнее, так как я понятия не имею, как выглядит ваш вызов ajax.

Кроме того, и это может быть только моя одержимость, ваш элемент должен выглядеть следующим образом:

<img src='image.gif' />This is a test 

Примечание задн / в img тега.

+0

+1, но я бы действительно использовал уникальный идентификатор, а не источник изображения, как селектор –

+0

@Pekka, абсолютно, см. Мое правление относительно использования 'id' или' class' (очевидно, 'id' намного лучше, но я не знаю, хочет ли он применить это к ** всем ** изображениям на странице или нет, так как он отмечает, что * в каждой ячейке есть изображение *). –

+0

Закрытие тега изображения полностью зависит от типа DOC. –