使用jQuery将span元素从一个div移动到另一个div?

使用jQuery将span元素从一个div移动到另一个div?,jquery,html,Jquery,Html,我想(在页面加载时)移动底部的投票部分,并将其放置在中。评级结果div: <div class="topic-like-count average"> <h4> <div style="display: none">UN:F [1.9.10_1130]</div> <div class="thumblock "> <span class="rating-result"> <div id="gd

我想(在页面加载时)移动底部的
投票
部分,并将其放置在
中。评级结果
div:

<div class="topic-like-count average">
 <h4>
  <div style="display: none">UN:F [1.9.10_1130]</div>
  <div class="thumblock ">
   <span class="rating-result">
     <div id="gdsr_thumb_text_43_a" class="gdt-size-20 gdthumbtext">0</div>
  </span>
  <div class="ratingtext ">
  </div>
  <div class="raterclear"></div>
  </div>
 </h4>
<span>votes</span>
</div>

(我想我需要在某处使用
($this)

使用appendTo关键字

看看答案

我猜你也可以使用克隆,然后删除原始版本

要选择有问题的实际跨度,请使用以下命令:

$(".topic-like-count:last-child")

编辑

function doIt(){
    setTimeout(function(){
    $span=$("#votes").clone();
    $("#votes").remove();
    $("#gdsr_thumb_text_43_a").append($span);

    }, 1000);
}


window.onload = function() {
     doIt();

   };

又一次编辑

$(".topic-like-count").each(function(){

$span=$(this).find(".vote").clone();
    $(this).find(".vote").remove();
    $(this).find("#gdsr_thumb_text_43_a").append($span);

});

克隆没有意义,你只是在浪费周期

$('div.topic-like-count').delegate('span.votes', 'click', function() {
    $('span.rating-result').append($(this));
});
使用代理,它有一个划分逻辑的好方法

上述代码转换为:

  • 在每一个“div”和“topic like count”类中。。(*)
  • 听一听,看看是否有一个带有“投票”类的“span”对象。。(**)
  • 导致“单击”事件
  • 当发生这种情况时,找到带有“评级结果”等级w/i(*)的“跨度”
  • 并在将其从原始点分离后添加(**)

我使用了
appendTo
jquery函数来移动内容

$mgdiv=$(".your_div_name");
$($mgdiv).appendTo(".target_div_name");

erm不是$(函数(…或$(文档)。就绪…比超时好吗?setTimeout函数的作用是:最初将跨度定位在末尾,然后放置在预期的divah中,看起来像是解决方案的一部分。为什么要执行.clone()和.remove()?为什么不将其与.appendTo一起移动()?@Aknosis,但我没有想到使用>span的目的是将您的目标指向是的直系后代。类似于count的主题,您也可以这样做。children('span')还有很多其他选择器。我有不止一个
。类似主题的count
div。这段代码是否适用于每个
。类似主题的count
div中都有span元素?我尝试了你的代码,并在所有div中添加了所有投票文本(大约15个)。嘿,请检查我的编辑。还有更多。主题类似于count div。我需要代码来移动其自己div的子范围。否则,所有“投票”文本将在每个div中显示。请查看。在这种情况下,每个jQuery关键字,并通过每个div对每个div应用相同的代码
$(".topic-like-count").each(function(){

$span=$(this).find(".vote").clone();
    $(this).find(".vote").remove();
    $(this).find("#gdsr_thumb_text_43_a").append($span);

});
$('.topic-like-count > span').appendTo('.rating-result');
$('div.topic-like-count').delegate('span.votes', 'click', function() {
    $('span.rating-result').append($(this));
});
$mgdiv=$(".your_div_name");
$($mgdiv).appendTo(".target_div_name");