Jquery - 将第一个img src从div复制到另一个div

时间:2011-04-08 22:17:27

标签: jquery

我一直在寻找解决方案一段时间,找到了几个选项, 但是他们中没有一个真的在我的情况下工作......

html/php code:

<div class="something">
    <img src="images/gallery/<?php echo $row_get_img['imagename']; ?>">
    <img src="images/gallery/pixelfiller.png">
    //Divs are on top of one another(*code not transcribed fully*)
</div>

<div id="fullscreen">
    <div class="imgfull"></div>
</div>

目标是抓住“东西”类中的第一个img,并填写“imgfull” div与图像。

到目前为止我的jquery脚本是这样的:

jquery code:

$("#content .something").click(
   function() {
       $("#fullscreen").show("slow");

$("#fullscreen").click(
   function() {
       $("fullscreen").hide("slow");
)

我已经尝试了很多选项,find(),attr(),get()甚至append()。 我想的那个更接近得到我需要的东西我假设是attr(),但我无法弄清楚为什么。

我真正需要的是,通过点击div“something”,点击的div中第一个图像的源属性必须被发送到div“imgfull”。

使用attr()我设法得到文档中第一个图像的来源,而不是div,我猜我需要使用$(this)和attr,但我不能弄清楚,这个解决方案也必须适合首先出现的jquery脚本。

我不知道这是否要求太多,但提前感谢您对此问题的任何答案。

5 个答案:

答案 0 :(得分:2)

尝试

$(".something img:first").clone().appendTo(".imgfull");

这将采用image元素,克隆它并将克隆附加到.imgfull div。

答案 1 :(得分:1)

你可以做这样的事情(假设你只需要一个带有imgfull类的div中的1个图像):

$('.something').click(function(){
     $('.imgfull').html('<img src="' + $(this).find('img:eq(0)').attr('src') + '" />');
});

这是a working example

答案 2 :(得分:1)

您可以执行以下操作(jsFiddle):

<div id="source">
    <img src="http://images.google.com/intl/en_ALL/images/logos/images_logo_lg.gif" alt="img1" />
    <img src="http://maps.google.com/intl/en_us/images/logos/maps_logo.gif" alt="img2" />
</div>
<a href="#" id="move">Move</a>
<div id="dest"></div>

$('#move').click(function(){
    $('#dest').append('<img src="' + $('#source img:first').attr("src") + '" alt="img3" />');
});

这是click事件,但无论绑定的事件是什么,该点都有效。

答案 3 :(得分:1)

这行代码将清除#fullscreen .imgFull div,从.something div中获取第一个img标记,并将其附加到#fullscreen .imgFull div。

$('#fullscreen .imgfull').empty().append($('.something img:first-child').clone());

修改:jsFiddle

答案 4 :(得分:0)

你可以尝试:

$("#content .something img").click(
   function() {
       $('#fullscreen .imgfull').empty();
       $('<img src="' + this.src + '" />').appendTo('#fullscreen .imgfull');
   });

JS Fiddle