我希望4 div
出现。当我点击div
中的任何一个时,我希望div
移动到最后。
因此,例如,如果单击第一个div,它应该成为最后一个div。
HTML:
<a href='#'><div id="pop0" class="pop"></div></a>
<a href='#'><div id="pop1" class="pop"></div></a>
<a href='#'><div id="pop2" class="pop"></div></a>
<a href='#'><div id="pop3" class="pop"></div></a>
CSS:
#pop0 {
width: 100px;
height: 100px;
background: yellow;
position: relative;
}
#pop1 {
width: 100px;
height: 100px;
background: red;
position: relative;
}
#pop2 {
width: 100px;
height: 100px;
background: blue;
position: relative;
}
#pop3 {
width: 100px;
height: 100px;
background: green;
position: relative;
}
jQuery:
var id = "pop0";
$(".pop").bind('click', function(){
var oldId = $(this).attr('id');
$(this).attr('id', id);
id = oldId;
})
答案 0 :(得分:2)
试试此代码
<强> JS 强>
$(".pop").on('click', function() {
// Get the closest anchor container
var $a =$(this).closest('a');
// Insert after the last anchor container
$a.insertAfter('a:last')
})
同样bind
已被on
取代。用它来绑定事件处理程序。
此外,您的html可以通过不重复相同的样式来清理一下。将常用样式移动到同一个类。
<强> CSS 强>
.pop{
width: 100px;
height: 100px;
position: relative;
}
#pop0 {
background: yellow;
}
#pop1 {
background: red;
}
#pop2 {
background: blue;
}
#pop3 {
background: green;
}
答案 1 :(得分:1)
使用你的代码很糟糕,因为你没有任何DOM包装元素......(正文除外)
$(".pop").bind('click', function(){
$('body').append($(this).parent());
})
答案 2 :(得分:1)
也许只是分离项目并将其附加到容器的末尾?
$(document).on('click','.pop',null,function(){
var $pop = $(this);
var $parent = $pop.parent();
$pop.detach();
$parent.append($pop);
});