Dlaczego .mydiv img
nie zostanie usunięty w tym kodzieBlokalnym?
$( document ).on( "click", '.onhover', function() {
$('.mydiv img').remove();
var clone = $('.onhover').clone();
$('.mydiv').append(clone);
});
Powinienem także dodać, że każdy obraz src
jest Base64 , nie jestem pewien, czy to problem.
Edytuj: .onhover
html
<img class="onhover" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4A...Am1QaMG+m7GaFP+FMUDQBFHUkTMCkZGFdLgDklAJgAcjeFOZgU+RP+FEUDQFFH2gRgijRgmtH+bkb/s5iAaesECH+KogGgKJqAMdAfN1rf689tf2uSpk0CdlvYR/hTFA0ARR15EzDKGMw6TSCmSBVm1TiAzwJ6PwLwhD9F0QBQ1JEyAcDkKQFMMZqfFfzTLgPcTRowy6h/XBJA+FMUDQBFHWkTMM4AYIqUABMeexoT4KdMBMYZhEmjfsKfomgAKIomYMo0YNJof9bCv0lJwChoz3I/MEXkT/hTFA0ARR1FEzApDZhkGMYBfzcJwCzwngX8hD9F0QBQFE3AHI3AtKnCbkb/uxnRT/s4hD9F0QBQFNOAKW7vBvR7TQCmhf7M4Cf8KYoGgKJoAnZnBCb9m73WAEwLcoKfomgAKIqagwmYBPNZ/99x908z6p+XUSD8KYoGgKKoXRqBeY3095oMTDIBBD9FLaj+/wEAfEsmcAJIeAcAAAAASUVORK5CYII=" style="float:left; height: 100%; position: relative; width: 55px; margin-right: 4px;">
0
Nick B
14 sierpień 2014, 22:53
2 odpowiedzi
Najlepsza odpowiedź
Prawdopodobnie tego chcesz.
$('.onhover').on("click", function () {
$('.mydiv').html($(this).clone());
});
EDYTUJ:
Mam tutaj zaktualizowany kod, który obsługuje miniatury i pełnowymiarowe obrazy dla jednego widoku:
http://jsfiddle.net/paoloposo/kqukiMY3/5/
1
paolo
14 sierpień 2014, 19:47
Musisz klonować przed usunięciem. Możesz także upewnić się, że usuwasz coś, co jest kliknięte:
$( document ).on( "click", '.onhover', function() {
var $this = $(this),
$parent = $this.parent(),
$clone = $this.clone();
$this.remove();
$parent.append( $clone );
});
Edytuj: Zakładając, że .mydiv
jest gdzieś indziej na stronie ... może coś takiego:
<div class="mydiv"></div>
<div class="thumbnails">
<img class="onhover" src="img1.jpg" />
<img class="onhover" src="img2.jpg" />
<img class="onhover" src="img3.jpg" />
</div>
... Wtedy chcesz użyć następującego kodu zamiast tego:
var $mydiv = $('.mydiv');
$( document ).on( "click", '.onhover', function() {
var $clone = $(this).clone().removeClass('onhover');
$mydiv.empty().append( $clone );
});
0
Ryan Wheale
14 sierpień 2014, 19:12