Cómo borrar las imágenes cargadas anteriormente y agregar nuevas imágenes
Frecuentes
Visto 48 veces
0
Tengo un requisito para jsonp, hice todos esos cambios y aquí hay un problema. una vez que ingrese el nombre de la etiqueta en el cuadro de texto, se mostrarán las imágenes que deberían estar bien. El problema es que, una vez que agrego otra etiqueta, las imágenes cargadas previamente no se borran (se ocultarán), las imágenes se muestran en la misma fila. Los nombres de las etiquetas son: invierno, animal, pájaro, parís. Aquí está mi código
$('#idSubmit').click(function(){
var txtVal = $('#idText').val();
$.ajax({
type:'GET',
url:"http://api.flickr.com/services/feeds/photos_public.gne?tags="+txtVal,
data:"&lang=en-us&format=json&jsoncallback=?",
success:function(data) {
//var thing = $('body :contains("Web")').text();
$.each(data.items, function(i, item) {
//$("<div/>").appendTo(body)
alert(item);
var tagImgs = $("<img/>").attr("src", item.media.m).appendTo("#images");
var tagNames = item.tags;
var tagNames = tagNames.split(' ');
if (tagImgs){
$("<div/>").html(tagImgs).appendTo("body").attr('title',tagNames[0]);
$("<div/>").html(tagImgs).appendTo("body").attr('title',tagNames[0]);
if (i == 9) return false;
}
});
},
dataType:'jsonp'
});
});
Aquí está el violín violín
2 Respuestas
2
No estoy seguro de haber entendido bien, pero si desea eliminar las imágenes cargadas, puede hacerlo:
$('img').remove();
en lugar de $('img').attr('src', '');
Respondido el 03 de diciembre de 13 a las 13:12
1
Agrega una class
al elemento que se va a añadir como
$("<div/>").html(tagImgs).appendTo("body")
.attr('title',tagNames[0])
.addClass('added');
Usando esta referencia, puede eliminar los elementos existentes antes de agregar
$('.added').remove();
$("<div/>").html(tagImgs).appendTo("body")
.attr('title',tagNames[0])
.addClass('added');
Mira esto violín
Respondido el 03 de diciembre de 13 a las 13:12
@Rajasekhar Puedes agregar. Agregar clase no te afectará de todos modos. Esto es como una identificación, por lo que no afectará a otros elementos. - Praveen
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas jquery or haz tu propia pregunta.
No solo se repite el img, si inspecciona los elementos encontrará su div principal. También al hacer esto se eliminarán todas las imágenes del sitio. Así que es mejor mantener la referencia como
class
orid
o usando jQueryfilters
eso. - PraveenGracias Jing, esto es realmente muy útil, está funcionando bien. - Rajasekhar
de acuerdo, la mejor manera es poner todas estas imágenes en un contenedor y borrar el contenedor cuando envíe una nueva etiqueta, aquí está el violín: jsfiddle.net/ALbnC/6 - Jing