Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery-如何在单击的元素上替换imgsrc?_Jquery_Replace - Fatal编程技术网

jQuery-如何在单击的元素上替换imgsrc?

jQuery-如何在单击的元素上替换imgsrc?,jquery,replace,Jquery,Replace,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">

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>
$('#thumbs a').click(function(evt) {
    evt.preventDefault();
    var clickedElement = $(this).clone();
    $('#panel').empty().append(clickedElement);
});
这是可行的,我只想把点击锚定的图像src的w=30&h=30更改为w=200&h=200,然后添加到#面板


这看起来不错。我正要用.replace()键入一些内容,因为服务器似乎需要参数。如果是我,我会首先克隆
img
,但这很简单,谢谢!有没有一种方法可以等待图像加载,然后附加它?现在,小图片被附加,然后它被调整到合适的尺寸。欢迎你,是的,但是你应该为此发布另一个问题。
$('#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);
});
$('#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);
});