Clone Divs在html ajax之后重置

时间:2014-03-04 19:10:08

标签: jquery html ajax clone reset

所以,它有点简单......但我想不出怎么做。

我在一个页面中有多个div:

<div id="playerid-1"><a href="javascript:loadplayer(1);">[LOAD PLAYER]</a></div>
<div id="playerid-2"><a href="javascript:loadplayer(2);">[LOAD PLAYER]</a></div>
<div id="playerid-3"><a href="javascript:loadplayer(3);">[LOAD PLAYER]</a></div>
...
<div id="playerid-n"><a href="javascript:loadplayer(n);">[LOAD PLAYER]</a></div> //Every folder are different

在这个div中我用ajax更新html以加载播放器:

function loadplayer(playerid) {
$.ajax ({ 
    url: "/player.php?playerid=" + playerid + "&playerurl=" + $("#playerid-" + playerid).attr("data-src"), 
    cache: false, 
    success: function(html) {           
        $("#playerid-" + playerid).fadeOut("slow",function() { 
            $("#playerid-" + playerid).html(html); 
            $("#playerid-" + playerid).fadeIn("slow"); 
        }); 
    } 
});
}

到这里工作但是...... 我希望当我加载另一个播放器ID以将[LOAD PLAYER]链接带回已加载播放器的右侧div

我尝试.clone()选项,但我不知道我有多少divs 在我看来是这件事:

  1. 使用preg_match (id="playerid-)
  2. 克隆每个div
  3. javascript:load player(x); - &gt;现在将用克隆的div替换所有div并将播放器加载到x div
  4. javascript:load player(y); - &gt;现在将用克隆的div替换所有div(在此步骤中它将播放器x返回到默认的[LOAD PLAYER]链接),然后将播放器加载到y div ...
  5. 这里的问题是我不知道如何prey_match并将所有div转换为带有id的javascript变量,以便在loadplayer()函数中使用它

1 个答案:

答案 0 :(得分:0)

如果你想在所有div玩家身上做一个foreach,为什么不使用:

jQuery("*[id^=playerid-]").each();

jsfiddle

要知道要上传哪些div,您可以向其添加数据属性以查看它们是否与之相关 一个玩家,或者只是检查每个循环上的html。