使用jQuery更改列表项的位置

时间:2011-06-07 20:34:11

标签: jquery

我的侧边栏中有一个标签云小部件,我的侧边栏中也有一个搜索框。我想把搜索框移到小部件标签云中的<h3>下面,以便它显示在实际标签之前。

这是我试过的Jquery。我尝试在classcloud(具有实际标签)之前添加搜索框。

$(document).ready(function() {$('.tagcloud').prepend($('search'));  })

你能解释一下为什么它不起作用吗? (注意,我的文档中还有一些其他jquery函数可以改变标记云。也许它们会干扰?我将它们复制到底部)

这是tagcloud html

<li class="widget widget_tag_cloud" id="tag_cloud-3">
     <h3>My Stupid Blog</h3>

  <div class=tagcloud">
   {irrelevant tag links }

  </div>

我也有一个搜索框

<li class="widget thesis_widget_search" id="search">  
    {search html}
</li>

我的文档中的其他Jquery函数

 $(function () {
    $('a[class^="tag-link"]').css('fontSize', '1.3em');
    $('a[class^="tag-link"]:odd').css('color', '#A1422F');
    $('a[class^="tag-link"]:even').css('color', '#1E2582');
});


 $(function () {
    $('#s').val('search box');
});

2 个答案:

答案 0 :(得分:2)

这对你有用。

$(function() {
    var searchHtml = $("#search").html();
    $("#search").remove();
    $(".tagcloud").before(searchHtml);
});

加成:

对于一些额外信息,应更改“其他jquery函数”。你真的应该删除$(function()电话。你应该只在页面上使用一次。这个函数调用实际上只是document.ready monitoring。

$(function () {
    var searchHtml = $("#search").html();
    $("#search").remove();
    $(".tagcloud").before(searchHtml);

    $('a[class^="tag-link"]').css('fontSize', '1.3em');
    $('a[class^="tag-link"]:odd').css('color', '#A1422F');
    $('a[class^="tag-link"]:even').css('color', '#1E2582');

    // Not sure what this is, unless you have an element with id="s"
    $('#s').val('search box');
});

答案 1 :(得分:1)

尝试这样的事情:

$(function() {
    $("#search").remove().insertBefore("#tag_cloud-3");
});