Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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如何将一个元素从一个位置移到另一个位置并重复x次_Jquery_Jquery Selectors - Fatal编程技术网

jquery如何将一个元素从一个位置移到另一个位置并重复x次

jquery如何将一个元素从一个位置移到另一个位置并重复x次,jquery,jquery-selectors,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="im

我正在尝试删除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>

标题
这是我的内容

(i=0;i<10;i++)的
{
$(“.tr类”).eq(i).每个(函数(){
var getImage=$(“.tr class.right td h4”).next().eq(i);
$(getImage.prependTo(“.tr class.image thumb”);
});
}

我不确定它的效率有多高,但这似乎有效:

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

作出的假设:
  • 如果每个
    .tr class
    只有一个图像,那么如果为图像分配一个类,可能会更可靠
  • 试试这个:

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

    嘿,谢谢!这个很好用!但是你能解释一下“$('.右td h4+a',this)”的作用吗?我的意思是从逗号和“this”开始。
    this
    在这种情况下用作选择器的上下文。可以使用jQuery对象、DOM对象或其他选择器作为上下文。因此,它允许您将选择器约束到DOM树的子集
    this
    特别引用
    each()
    循环中的当前元素,因此
    $('.right td h4+a',this)
    返回与h4元素相邻的所有a元素,它们是类为right td的元素的子元素,但仅在当前
    .tr class
    中。谢谢!这是可行的,但只获取图像,而不同时获取图像和链接。Thomas提供的代码按照我的需要工作。但我还是会保存这段代码。也许有一天它会有用。
    $('.tr-class')
      .each(
        function()
        {
          $('.right-td h4 + a', this).appendTo($('.image-thumb', this));
        }
      );