本帖最後由 player889 於 2014-1-9 20:45 編輯
小弟做了一個小東西,網站 範例]
功能:使用者可以使用上下按鈕來移動物件,而RESET按鈕可讓物件回到最初的位置
然而我在reset function 中使用append 這一個功能,但是它沒有增加contents
,反而覆蓋我原有的contents,我是用append,請問為啥會出現覆蓋的情形?
謝謝解答!!$(document).ready(function() {
var list = init();
var last = $('#table').find("tr").length;
$('#table').find("tr").each( function(index,element){
$(this).prepend($("<button/>").text("↑").bind('click',function() {up($(this).parent(),last);}));
$(this).prepend($("<button/>").text("↓").bind('click',function(){down($(this).parent(),last);}));});
$('#table').before($('<button />').text("reset").on('click',function(){reset(list);}));
});
function up(tr,last){
if( 0 != tr.index() ){
var prevTr = tr.prev();
tr.after(prevTr);
}
}
function down(tr,last){
if( last-1 != tr.index() ){
var nextTr = tr.next();
tr.before(nextTr);
}
}
var reset = function(list){
for(var i = 0 ; i <list.length; i++){
$("#table").append(list[i]);
}
};
var init = function(){
var list = [];
$('#table tr').each(function(){
list.push($(this));
});
return list;
}; <table id="table">
<tr id = "1">
<td>First</td>
<td>B</td>
<td>C</td>
</tr>
<tr id = "2">
<td>second</td>
<td>2</td>
<td>3</td>
</tr>
<tr id = "3">
<td>third</td>
<td>@</td>
<td>#</td>
</tr>
<tr id = "4">
<td>THANKS</td>
<td>FOR</td>
<td>HELPING</td>
</tr>
</table> |