我正在尝试重新排列主Div中的div索引.但它没有按预期工作.
这是我的HTML代码
VideoAudioImage
这是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); });
单击按钮我试图根据参数功能更改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')); } }
编辑
如果您可以传递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']); });