jQuery用不同的列表项替换具有特定类的列表项

时间:2013-07-30 09:12:59

标签: jquery list sorting replace onclick

我有listbutton ...

如果有人点击该按钮,我想用不同的列表项替换列表项与某个类。我已经有了这些课程,但我不知道如何使用loadreplace ...

我已经做到了:

$(document).ready(function() {
 $("#dynamic").click(function() {
     var refreshId = setInterval(function() {
         $('.remove-this-list-on-click').fadeOut("slow", function () {
             $(this).load("li a.add-this-list-on-click-instead > *").fadeIn("slow");
         });
     });
 });
 });

以下是按钮和列表:

       <div id="dynamic">testestetest</div>
<ul class="most_popular" id="bla">
    <li class="remove-this-list-on-click"></li>
    <li class="remove-this-list-on-click"></li>
    <li><a class="add-this-list-on-click-instead"></a></li>
    <li><a class="add-this-list-on-click-instead"></a></li>
</ul>

所以你可以看到类add-this-list-on-click-instead的列表已经存在,所以它应该保留在那里。也许我们可以使用删除remove-this-list-on-click列表项,但我不知道如何...我想这用你的语言称为排序 ....我想对此项目进行排序点击。

以下是jSfiddle - &gt; http://jsfiddle.net/aYtma/

2 个答案:

答案 0 :(得分:2)

您不必在那里使用.load,如果已经有类,那么您不需要做任何事情 -

只需删除此行

即可
 $(this).load("li a.add-this-list-on-click-instead > *").fadeIn("slow");

如果最初隐藏.add-this-list-on-click-instead -

然后用这个 -

让它可见
$("#dynamic").click(function() {
     $this = $(this);
     var refreshId = setInterval(function() {
         $('.remove-this-list-on-click').fadeOut("slow", function () {
             $this.find("a.add-this-list-on-click-instead").fadeIn("slow");
         });
     });
});

答案 1 :(得分:1)

你的HTML不正确。你有开放的引号和不正确的结束括号。

校正:

<div id="dynamic">testestetest</div>
<ul class="most_popular" id="bla">
    <li class="remove-this-list-on-click"></li>
    <li class="remove-this-list-on-click"></li>
    <li><a class="add-this-list-on-click-instead"></a></li>
    <li><a class="add-this-list-on-click-instead"></a></li>
</ul>

现在它将至少开始响应你的JS。此外,您不清楚是否要删除项目/排序项目/突出显示或刷新项目。也许你应该问你的问题。