iJa*_*ade 0 html javascript css jquery
我正在尝试重新排列主Div中的div索引.但它没有按预期工作.
这是我的HTML代码
<div id="divAll">
<div id="divVideo">
Video
</div>
<div id="divAudio">
Audio
</div>
<div id="divImage">
Image
</div>
</div>
<input id="btn" type="button" />
Run Code Online (Sandbox Code Playgroud)
这是jQuery代码
function Rearrange(videoP,audioP,imageP){
if(videoP=="1"){
$('#divAll').prependTo('#divVideo');
}
else if(audioP=="1"){
$('#divAll').prependTo('#divAudio');
}
else if(imageP=="1"){
$('#divAll').prependTo('#divImage');
}
if(videoP=="2"){
$('#divAll div:eq(1)').after('#divVideo');
}
else if(audioP=="2"){
$('#divAll div:eq(1)').after('#divAudio');
}
else if(imageP=="2"){
$('#divAll div:eq(1)').after('#divImage');
}
if(videoP=="3"){
$('#divAll div:eq(2)').after('#divVideo');
}
else if(audioP=="3"){
$('#divAll div:eq(2)').after('#divAudio');
}
else if(imageP=="3"){
$('#divAll div:eq(2)').after('#divImage');
}
}
$('#btn').click(function(){
Rearrange(3,2,1);
});
Run Code Online (Sandbox Code Playgroud)
单击按钮我试图根据参数功能更改div的位置,但是它导致主div中没有div.
这是jsfiddle
这可能是可能的解决方案之一
function Rearrange(videoP,audioP,imageP){
$('#temp').append($('#divAll div'));
alert($('#temp').html());
for(i=1;i<4;i++)
{
if(i==videoP)
$('#divAll').append($('#divVideo'));
if(i==audioP)
$('#divAll').append($('#divAudio'));
if(i==imageP)
$('#divAll').append($('#divImage'));
}
}
Run Code Online (Sandbox Code Playgroud)
编辑
如果您可以传递ID数组来决定顺序,那么您将提出更通用的解决方案.
function Rearrange(arrOfId){
$('#temp').append($('#divAll div'));
for(i=0;i<arrOfId.length;i++)
$('#divAll').append($('#' + arrOfId[i]));
}
$('#btn').click(function(){
Rearrange(['divImage', 'divAudio','divVideo']);
});
Run Code Online (Sandbox Code Playgroud)