RhymeGuy
RhymeGuy

Reputation: 2122

jQuery - How to replace img src on clicked element?

HTML:

<div id="panel">
     <a href="path_to_image1.jpg" rel="shadowbox[page]">
     <img src="scripts/timthumb.php?src=path_to_image1.jpg&w=200&h=20" alt="Image name1" /></a>
</div>

<div id="thumbs">
    <a href="path_to_image1.jpg" rel="shadowbox[page]"><img src="scripts/timthumb.php?src=path_to_image1.jpg&w=30&h=30" alt="Image name1" /></a>
    <a href="path_to_image2.jpg" rel="shadowbox[page]"><img src="scripts/timthumb.php?src=path_to_image2.jpg&w=30&h=30" alt="Image name2" /></a>
    <a href="path_to_image3.jpg" rel="shadowbox[page]"><img src="scripts/timthumb.php?src=path_to_image3.jpg&w=30&h=30" alt="Image name3" /></a>
</div>

JS:

$('#thumbs a').click(function(evt) {
    evt.preventDefault();
    var clickedElement = $(this).clone();
    $('#panel').empty().append(clickedElement);
});

So this works and i want just to change w=30&h=30 of image src on clicked anchor to w=200&h=200 and then to be appended to the #panel.

Upvotes: 2

Views: 1272

Answers (2)

Ram
Ram

Reputation: 144739

$('#thumbs a').click(function(evt) {
    var clickedElement = $(this).clone().find('img').attr('src', function(i, src){
        return src.replace('w=30&h=30', 'w=200&h=200')
    }).end()
    $('#panel').html(clickedElement);
});

FIDDLE

Upvotes: 0

Dziad Borowy
Dziad Borowy

Reputation: 12589

$('#thumbs a').click(function(evt) {
    evt.preventDefault();
    var clickedElement = $(this).clone();
    var img = clickedElement.find('img'),
        imgSrc = img.attr('src').replace(/w=30&h=30/, 'w=200&h=200');

    img.attr('src', imgSrc);
    $('#panel').empty().append(clickedElement);
});

Upvotes: 1

Related Questions