Javascript 读取表格,然后删除并显示新的
这是我第一次显示页面(实际上,行和列中的数据是从服务器代码和数据库生成的)。还请注意每个数据的属性Javascript 读取表格,然后删除并显示新的,javascript,jquery,html,css,Javascript,Jquery,Html,Css,这是我第一次显示页面(实际上,行和列中的数据是从服务器代码和数据库生成的)。还请注意每个数据的属性 <table> <tr> <td id="1" class="decorate">Item3</td> <td class="decorate"><p>Description<p></td> </tr>
<table>
<tr>
<td id="1" class="decorate">Item3</td>
<td class="decorate"><p>Description<p></td>
</tr>
<tr>
<td class="decorate">Item1</td>
<td class="decorate"><p>Description1</p><p>Description2</p></td>
</tr>
<tr>
<td id="2" class="decorate">Item2</td>
<td class="decorate"><p>Description3<p></td>
</tr>
</table>
<div id="tablediv"></div>
项目3
说明
项目1
描述1描述2
项目2
描述3
下面是js代码,用于读取OnLoad事件中的数据,并在排序后将数据附加到“tablediv”中
$(document).ready(function() {
var arr = new Array();
$('table tr').each(function() {
var $row = $(this);
var key = $row.find('td:first').html();
var value = $row.find('td:last').html();
console.log(value);
arr.push([key, value]);
});
arr.sort(function(a, b) {
var valueA, valueB;
valueA = a[0]; // sort by the first value of array
valueB = b[0];
if (valueA < valueB) {
return -1;
}
else if (valueA > valueB) {
return 1;
}
return 0;
});
var root=document.getElementById('tablediv');
var table=document.createElement('table');
var tbo=document.createElement('tbody');
var row, cell;
for(var i=0;i<arr.length;i++)
{
row=document.createElement('tr');
for(var j=0;j<2;j++)
{
cell=document.createElement('td');
cell.appendChild(document.createTextNode(arr[i][j]));
row.appendChild(cell);
}
tbo.appendChild(row);
}
table.appendChild(tbo);
root.appendChild(table);
});
$(文档).ready(函数(){
var arr=新数组();
$('table tr')。每个(函数(){
var$row=$(此);
var key=$row.find('td:first').html();
var value=$row.find('td:last').html();
console.log(值);
arr.push([键,值]);
});
arr.sort(函数(a,b){
var valueA,valueB;
valueA=a[0];//按数组的第一个值排序
valueB=b[0];
如果(值A<值B){
返回-1;
}
否则如果(值A>值B){
返回1;
}
返回0;
});
var root=document.getElementById('tablediv');
var table=document.createElement('table');
var tbo=document.createElement('tbody');
var行、单元格;
对于(var i=0;i只需就地排序:
var$table=$(“table”)
var rows=$table.find(“tr”).toArray();
行排序(函数(a,b){
var left=$(a).find(“td:first”).html(),/.text()??
right=$(b).find(“td:first”).html();
返回左<右?-1:左>右?+1:0;
});
$(行)。每个(函数(){
$(此).appendTo($table);
});
这意味着您不必将任何内容从一个表复制到另一个表,只需原封不动地重复使用行即可。这变得越来越困难:-DIf这是页面上唯一的表(看起来它一定是这样,否则当您使用jQuery选择器时,其他东西可能会损坏'table tr'
),然后您可以使用jQuery选择器“table”
选择该表。您可以删除并替换该表,也可以在此表中就地排序。
var $table = $("table")
var rows = $table.find("tr").toArray();
rows.sort(function(a, b) {
var left = $(a).find("td:first").html(), // .text() ??
right = $(b).find("td:first").html();
return left < right ? -1 : left > right ? +1 : 0;
});
$(rows).each(function() {
$(this).appendTo($table);
});