如何从一个地方的另一个地方删除一个元素并重复x次

时间:2010-10-20 18:37:13

标签: jquery jquery-selectors

我正在尝试删除h4下方的第一个链接图像,并将其添加到div.image-thumb。我使用的代码很好,如果它只是一个表行“.tr-class”。

但是当我有多行时,它会将所有链接图像复制到.image-thumb中。因此,如果我有10行,那么每行将有10个链接图像。我怎样才能在正确的位置获得正确的链接图像HTML和JS如下:

由于

<table>
<tr class="tr-class">
<td class="left-td">
    <div class="image-thumb">
    </div>
</td>
<td class="right-td">
    <h4>Header</h4>
    <a href="http://www.google.com"><img src="image.png" /></a>
    <p>this is my content</p>
    <a href="http://www.google.com">Read more</a>                
</td>       
</tr>

for(i = 0; i < 10; i++){
    $(".tr-class").eq(i).each(function(){
        var getImage = $(".tr-class .right-td h4").next().eq(i);
        $(getImage).prependTo(".tr-class .image-thumb");
    });
}

2 个答案:

答案 0 :(得分:0)

我不确定它的效率如何,但这似乎有效:

$(document).ready(
    function(){
        $('img').each(
            function(i){
                $(this).prependTo($('.image-thumb').eq(i));
            }
        );
    }
);

Demo at JS Bin

做出的假设:

  1. .tr-class只会有一张图片,如果您为图片分配了一个类,那么它可能会更可靠。

答案 1 :(得分:0)

试试这个:

$('.tr-class')
  .each(
    function()
    {
      $('.right-td h4 + a', this).appendTo($('.image-thumb', this));
    }
  );