JavaScript实现表格排序代码

  1 < html >
  2 < head >
  3 < meta  http-equiv ="Content-Type"  content ="text/html; charset=gb2312" >
  4 < title > JavaScript实现表格排序代码 - www.webdm.cn </ title >
  5 </ head >
  6
  7 ExpandedBlockStart.gifContractedBlock.gif < STYLE  type =text/css > TABLE {}{
  8    BORDER-RIGHT: #000000 2px solid; BORDER-TOP: #000000 2px solid; BORDER-LEFT: #000000 2px solid; BORDER-BOTTOM: #000000 2px solid; border-spacing: 0px; cell-spacing: 0px
  9}

 10ExpandedSubBlockStart.gifContractedSubBlock.gifTD {}{
 11    PADDING-RIGHT: 0.5em; PADDING-LEFT: 0.5em; FONT-SIZE: 10pt; PADDING-BOTTOM: 2px; PADDING-TOP: 2px; FONT-FAMILY: Arial, Helvetica, sans-serif; WHITE-SPACE: nowrap
 12}

 13ExpandedSubBlockStart.gifContractedSubBlock.gifTH {}{
 14    PADDING-RIGHT: 0.5em; PADDING-LEFT: 0.5em; FONT-SIZE: 10pt; PADDING-BOTTOM: 2px; PADDING-TOP: 2px; FONT-FAMILY: Arial, Helvetica, sans-serif; WHITE-SPACE: nowrap
 15}

 16ExpandedSubBlockStart.gifContractedSubBlock.gifTD.numeric {}{
 17    TEXT-ALIGN: right
 18}

 19ExpandedSubBlockStart.gifContractedSubBlock.gifTH {}{
 20    BACKGROUND-COLOR: #c0c0c0
 21}

 22ExpandedSubBlockStart.gifContractedSubBlock.gifTH.mainHeader {}{
 23    COLOR: #ffffff; BACKGROUND-COLOR: #808080; TEXT-ALIGN: left
 24}

 25ExpandedSubBlockStart.gifContractedSubBlock.gifTH A {}{
 26    COLOR: #000080; TEXT-DECORATION: none
 27}

 28ExpandedSubBlockStart.gifContractedSubBlock.gifTH A:visited {}{
 29    COLOR: #000080
 30}

 31ExpandedSubBlockStart.gifContractedSubBlock.gifTH A:active {}{
 32    COLOR: #800000; TEXT-DECORATION: underline
 33}

 34ExpandedSubBlockStart.gifContractedSubBlock.gifTH A:hover {}{
 35    COLOR: #800000; TEXT-DECORATION: underline
 36}

 37ExpandedSubBlockStart.gifContractedSubBlock.gifTR.alternateRow {}{
 38    BACKGROUND-COLOR: #e0e0e0
 39}

 40ExpandedSubBlockStart.gifContractedSubBlock.gifTD.sortedColumn {}{
 41    BACKGROUND-COLOR: #f0f0f0
 42}

 43ExpandedSubBlockStart.gifContractedSubBlock.gifTH.sortedColumn {}{
 44    BACKGROUND-COLOR: #b0b0b0
 45}

 46ExpandedSubBlockStart.gifContractedSubBlock.gifTR.alternateRow TD.sortedColumn {}{
 47    BACKGROUND-COLOR: #d0d0d0
 48}

 49
</ STYLE >
 50
 51 ExpandedBlockStart.gifContractedBlock.gif < SCRIPT  type =text/javascript >
 52
 53ExpandedSubBlockStart.gifContractedSubBlock.giffunction sortTable(id, col, rev) {
 54
 55  // Get the table or table section to sort.
 56  var tblEl = document.getElementById(id);
 57
 58  // The first time this function is called for a given table, set up an
 59  // array of reverse sort flags.
 60ExpandedSubBlockStart.gifContractedSubBlock.gif  if (tblEl.reverseSort == null{
 61    tblEl.reverseSort = new Array();
 62    // Also, assume the team name column is initially sorted.
 63    tblEl.lastColumn = 1;
 64  }

 65
 66  // If this column has not been sorted before, set the initial sort direction.
 67  if (tblEl.reverseSort[col] == null)
 68    tblEl.reverseSort[col] = rev;
 69
 70  // If this column was the last one sorted, reverse its sort direction.
 71  if (col == tblEl.lastColumn)
 72    tblEl.reverseSort[col] = !tblEl.reverseSort[col];
 73
 74  // Remember this column as the last one sorted.
 75  tblEl.lastColumn = col;
 76
 77  // Set the table display style to "none" - necessary for Netscape 6 
 78  // browsers.
 79  var oldDsply = tblEl.style.display;
 80  tblEl.style.display = "none";
 81
 82  // Sort the rows based on the content of the specified column using a
 83  // selection sort.
 84
 85  var tmpEl;
 86  var i, j;
 87  var minVal, minIdx;
 88  var testVal;
 89  var cmp;
 90
 91ExpandedSubBlockStart.gifContractedSubBlock.gif  for (i = 0; i < tblEl.rows.length - 1; i++{
 92
 93    // Assume the current row has the minimum value.
 94    minIdx = i;
 95    minVal = getTextValue(tblEl.rows[i].cells[col]);
 96
 97    // Search the rows that follow the current one for a smaller value.
 98ExpandedSubBlockStart.gifContractedSubBlock.gif    for (j = i + 1; j < tblEl.rows.length; j++{
 99      testVal = getTextValue(tblEl.rows[j].cells[col]);
100      cmp = compareValues(minVal, testVal);
101      // Negate the comparison result if the reverse sort flag is set.
102      if (tblEl.reverseSort[col])
103        cmp = -cmp;
104      // Sort by the second column (team name) if those values are equal.
105      if (cmp == 0  &&  col != 1)
106        cmp = compareValues(getTextValue(tblEl.rows[minIdx].cells[1]),
107                            getTextValue(tblEl.rows[j].cells[1]));
108      // If this row has a smaller value than the current minimum, remember its
109      // position and update the current minimum value.
110ExpandedSubBlockStart.gifContractedSubBlock.gif      if (cmp > 0{
111        minIdx = j;
112        minVal = testVal;
113      }

114    }

115
116    // By now, we have the row with the smallest value. Remove it from the
117    // table and insert it before the current row.
118ExpandedSubBlockStart.gifContractedSubBlock.gif    if (minIdx > i) {
119      tmpEl = tblEl.removeChild(tblEl.rows[minIdx]);
120      tblEl.insertBefore(tmpEl, tblEl.rows[i]);
121    }

122  }

123
124  // Make it look pretty.
125  makePretty(tblEl, col);
126
127  // Set team rankings.
128  setRanks(tblEl, col, rev);
129
130  // Restore the table's display style.
131  tblEl.style.display = oldDsply;
132
133  return false;
134}

135
136ExpandedSubBlockStart.gifContractedSubBlock.gifif (document.ELEMENT_NODE == null{
137  document.ELEMENT_NODE = 1;
138  document.TEXT_NODE = 3;
139}

140
141ExpandedSubBlockStart.gifContractedSubBlock.giffunction getTextValue(el) {
142
143  var i;
144  var s;
145  s = "";
146  for (i = 0; i < el.childNodes.length; i++)
147    if (el.childNodes[i].nodeType == document.TEXT_NODE)
148      s += el.childNodes[i].nodeValue;
149    else if (el.childNodes[i].nodeType == document.ELEMENT_NODE  && 
150             el.childNodes[i].tagName == "BR")
151      s += " ";
152    else
153      // Use recursion to get text within sub-elements.
154      s += getTextValue(el.childNodes[i]);
155
156  return normalizeString(s);
157}

158
159ExpandedSubBlockStart.gifContractedSubBlock.giffunction compareValues(v1, v2) {
160
161  var f1, f2;
162
163  // If the values are numeric, convert them to floats.
164
165  f1 = parseFloat(v1);
166  f2 = parseFloat(v2);
167ExpandedSubBlockStart.gifContractedSubBlock.gif  if (!isNaN(f1)  &&  !isNaN(f2)) {
168    v1 = f1;
169    v2 = f2;
170  }

171
172  // Compare the two values.
173  if (v1 == v2)
174    return 0;
175  if (v1 > v2)
176    return 1
177  return -1;
178}

179
180// Regular expressions for normalizing white space.
181var whtSpEnds = new RegExp("^\\s*|\\s*$""g");
182var whtSpMult = new RegExp("\\s\\s+""g");
183
184ExpandedSubBlockStart.gifContractedSubBlock.giffunction normalizeString(s) {
185
186  s = s.replace(whtSpMult, " ");  // Collapse any multiple whites space.
187  s = s.replace(whtSpEnds, "");   // Remove leading or trailing white space.
188
189  return s;
190}

191
192//-----------------------------------------------------------------------------
193// Functions to update the table appearance after a sort.
194//-----------------------------------------------------------------------------
195
196// Style class names.
197var rowClsNm = "alternateRow";
198var colClsNm = "sortedColumn";
199
200// Regular expressions for setting class names.
201var rowTest = new RegExp(rowClsNm, "gi");
202var colTest = new RegExp(colClsNm, "gi");
203
204ExpandedSubBlockStart.gifContractedSubBlock.giffunction makePretty(tblEl, col) {
205
206  var i, j;
207  var rowEl, cellEl;
208
209  // Set style classes on each row to alternate their appearance.
210ExpandedSubBlockStart.gifContractedSubBlock.gif  for (i = 0; i < tblEl.rows.length; i++{
211   rowEl = tblEl.rows[i];
212   rowEl.className = rowEl.className.replace(rowTest, "");
213    if (i % 2 != 0)
214      rowEl.className += " " + rowClsNm;
215    rowEl.className = normalizeString(rowEl.className);
216    // Set style classes on each column (other than the name column) to
217    // highlight the one that was sorted.
218ExpandedSubBlockStart.gifContractedSubBlock.gif    for (j = 2; j < tblEl.rows[i].cells.length; j++{
219      cellEl = rowEl.cells[j];
220      cellEl.className = cellEl.className.replace(colTest, "");
221      if (j == col)
222        cellEl.className += " " + colClsNm;
223      cellEl.className = normalizeString(cellEl.className);
224    }

225  }

226
227  // Find the table header and highlight the column that was sorted.
228  var el = tblEl.parentNode.tHead;
229  rowEl = el.rows[el.rows.length - 1];
230  // Set style classes for each column as above.
231ExpandedSubBlockStart.gifContractedSubBlock.gif  for (i = 2; i < rowEl.cells.length; i++{
232    cellEl = rowEl.cells[i];
233    cellEl.className = cellEl.className.replace(colTest, "");
234    // Highlight the header of the sorted column.
235    if (i == col)
236      cellEl.className += " " + colClsNm;
237      cellEl.className = normalizeString(cellEl.className);
238  }

239}

240
241ExpandedSubBlockStart.gifContractedSubBlock.giffunction setRanks(tblEl, col, rev) {
242
243  // Determine whether to start at the top row of the table and go down or
244  // at the bottom row and work up. This is based on the current sort
245  // direction of the column and its reversed flag.
246
247  var i    = 0;
248  var incr = 1;
249  if (tblEl.reverseSort[col])
250    rev = !rev;
251ExpandedSubBlockStart.gifContractedSubBlock.gif  if (rev) {
252    incr = -1;
253    i = tblEl.rows.length - 1;
254  }

255
256  // Now go through each row in that direction and assign it a rank by
257  // counting 1, 2, 3
258
259  var count   = 1;
260  var rank    = count;
261  var curVal;
262  var lastVal = null;
263
264  // Note that this loop is skipped if the table was sorted on the name
265  // column.
266ExpandedSubBlockStart.gifContractedSubBlock.gif  while (col > 1  &&  i >= 0  &&  i < tblEl.rows.length) {
267
268    // Get the value of the sort column in this row.
269    curVal = getTextValue(tblEl.rows[i].cells[col]);
270
271    // On rows after the first, compare the sort value of this row to the
272    // previous one. If they differ, update the rank to match the current row
273    // count. (If they are the same, this row will get the same rank as the
274    // previous one.)
275    if (lastVal != null  &&  compareValues(curVal, lastVal) != 0)
276        rank = count;
277    // Set the rank for this row.
278    tblEl.rows[i].rank = rank;
279
280    // Save the sort value of the current row for the next time around and bump
281    // the row counter and index.
282    lastVal = curVal;
283    count++;
284    i += incr;
285  }

286
287  // Now go through each row (from top to bottom) and display its rank. Note
288  // that when two or more rows are tied, the rank is shown on the first of
289  // those rows only.
290
291  var rowEl, cellEl;
292  var lastRank = 0;
293
294  // Go through the rows from top to bottom.
295ExpandedSubBlockStart.gifContractedSubBlock.gif  for (i = 0; i < tblEl.rows.length; i++{
296    rowEl = tblEl.rows[i];
297    cellEl = rowEl.cells[0];
298    // Delete anything currently in the rank column.
299    while (cellEl.lastChild != null)
300      cellEl.removeChild(cellEl.lastChild);
301    // If this row's rank is different from the previous one, Insert a new text
302    // node with that rank.
303ExpandedSubBlockStart.gifContractedSubBlock.gif    if (col > 1  &&  rowEl.rank != lastRank) {
304      cellEl.appendChild(document.createTextNode(rowEl.rank));
305      lastRank = rowEl.rank;
306    }

307  }

308}

309
310
</ SCRIPT >
311
312 < META  content ="MSHTML 6.00.2600.0"  name =GENERATOR ></ HEAD >
313 < BODY >
314
315 <!--  Offensive statistics table.  -->
316 < TABLE  cellSpacing =0  cellPadding =0  border =0 >
317    < THEAD >
318    < TR >
319      < TH  class =mainHeader  colSpan =11 > NFL 2001 Offensive Stats </ TH ></ TR >
320    < TR >
321      < TH  style ="TEXT-ALIGN: left" > Rank </ TH >
322      < TH  style ="TEXT-ALIGN: left" >< title ="Team Name"  
323       onclick ="this.blur(); return sortTable('offTblBdy', 1, false);"  
324       href ="#" > Team </ A ></ TH >
325      < TH >< SPAN  title ="Games Played" > Gms </ SPAN ></ TH >
326      < TH >< title ="Total Yards"  
327       onclick ="this.blur(); return sortTable('offTblBdy',  3, true);"  
328       href ="#" > Yds </ A ></ TH >
329      < TH >< title ="Yards Per Game"  
330       onclick ="this.blur(); return sortTable('offTblBdy',  4, true);"  
331       href ="#" > Yds/G </ A ></ TH >
332      < TH >< title ="Total Rushing Yards"  
333       onclick ="this.blur(); return sortTable('offTblBdy',  5, true);"  
334       href ="#" > RuYds </ A ></ TH >
335      < TH >< title ="Rushing Yards Per Game"  
336       onclick ="this.blur(); return sortTable('offTblBdy',  6, true);"  
337       href ="#" > RuYds/G </ A ></ TH >
338      < TH >< title ="Total Passing Yards"  
339       onclick ="this.blur(); return sortTable('offTblBdy',  7, true);"  
340       href ="#" > PaYds </ A ></ TH >
341      < TH >< title ="Passing Yards Per Game"  
342       onclick ="this.blur(); return sortTable('offTblBdy',  8, true);"  
343       href ="#" > PaYds/G </ A ></ TH >
344      < TH >< title ="Total Points Scored"  
345       onclick ="this.blur(); return sortTable('offTblBdy',  9, true);"  
346       href ="#" > Pts </ A ></ TH >
347      < TH >< title ="Points Per Game"  
348       onclick ="this.blur(); return sortTable('offTblBdy', 10, true);"  
349       href ="#" > Pts/G </ A ></ TH ></ TR ></ THEAD >
350    < TBODY  id =offTblBdy >
351    < TR >
352      < TD  class =numeric ></ TD >
353      < TD > Arizona </ TD >
354      < TD  class =numeric > 16 </ TD >
355      < TD  class =numeric > 4898 </ TD >
356      < TD  class =numeric > 306.1 </ TD >
357      < TD  class =numeric > 1449 </ TD >
358      < TD  class =numeric > 90.6 </ TD >
359      < TD  class =numeric > 3449 </ TD >
360      < TD  class =numeric > 215.6 </ TD >
361      < TD  class =numeric > 295 </ TD >
362      < TD  class =numeric > 18.4 </ TD ></ TR >
363    < TR  class =alternateRow >
364      < TD  class =numeric ></ TD >
365      < TD > Atlanta </ TD >
366      < TD  class =numeric > 16 </ TD >
367      < TD  class =numeric > 5070 </ TD >
368      < TD  class =numeric > 316.9 </ TD >
369      < TD  class =numeric > 1773 </ TD >
370      < TD  class =numeric > 110.8 </ TD >
371      < TD  class =numeric > 3297 </ TD >
372      < TD  class =numeric > 206.1 </ TD >
373      < TD  class =numeric > 291 </ TD >
374      < TD  class =numeric > 18.2 </ TD ></ TR >
375    < TR >
376      < TD  class =numeric ></ TD >
377      < TD > Baltimore </ TD >
378      < TD  class =numeric > 16 </ TD >
379      < TD  class =numeric > 4773 </ TD >
380      < TD  class =numeric > 318.2 </ TD >
381      < TD  class =numeric > 1598 </ TD >
382      < TD  class =numeric > 106.5 </ TD >
383      < TD  class =numeric > 3175 </ TD >
384      < TD  class =numeric > 211.7 </ TD >
385      < TD  class =numeric > 284 </ TD >
386      < TD  class =numeric > 18.9 </ TD ></ TR >
387    < TR  class =alternateRow >
388      < TD  class =numeric ></ TD >
389      < TD > Buffalo </ TD >
390      < TD  class =numeric > 16 </ TD >
391      < TD  class =numeric > 5137 </ TD >
392      < TD  class =numeric > 321.1 </ TD >
393      < TD  class =numeric > 1686 </ TD >
394      < TD  class =numeric > 105.4 </ TD >
395      < TD  class =numeric > 3451 </ TD >
396      < TD  class =numeric > 215.7 </ TD >
397      < TD  class =numeric > 265 </ TD >
398      < TD  class =numeric > 16.6 </ TD ></ TR >
399    < TR >
400      < TD  class =numeric ></ TD >
401      < TD > Carolina </ TD >
402      < TD  class =numeric > 16 </ TD >
403      < TD  class =numeric > 4254 </ TD >
404      < TD  class =numeric > 265.9 </ TD >
405      < TD  class =numeric > 1372 </ TD >
406      < TD  class =numeric > 85.8 </ TD >
407      < TD  class =numeric > 2882 </ TD >
408      < TD  class =numeric > 180.1 </ TD >
409      < TD  class =numeric > 253 </ TD >
410      < TD  class =numeric > 15.8 </ TD ></ TR >
411    < TR  class =alternateRow >
412      < TD  class =numeric ></ TD >
413      < TD > Chicago </ TD >
414      < TD  class =numeric > 16 </ TD >
415      < TD  class =numeric > 4694 </ TD >
416      < TD  class =numeric > 293.4 </ TD >
417      < TD  class =numeric > 1742 </ TD >
418      < TD  class =numeric > 108.9 </ TD >
419      < TD  class =numeric > 2952 </ TD >
420      < TD  class =numeric > 184.5 </ TD >
421      < TD  class =numeric > 338 </ TD >
422      < TD  class =numeric > 21.1 </ TD ></ TR >
423    < TR >
424      < TD  class =numeric ></ TD >
425      < TD > Cincinnati </ TD >
426      < TD  class =numeric > 16 </ TD >
427      < TD  class =numeric > 4800 </ TD >
428      < TD  class =numeric > 300.0 </ TD >
429      < TD  class =numeric > 1712 </ TD >
430      < TD  class =numeric > 107.0 </ TD >
431      < TD  class =numeric > 3088 </ TD >
432      < TD  class =numeric > 193.0 </ TD >
433      < TD  class =numeric > 226 </ TD >
434      < TD  class =numeric > 14.1 </ TD ></ TR >
435    < TR  class =alternateRow >
436      < TD  class =numeric ></ TD >
437      < TD > Cleveland </ TD >
438      < TD  class =numeric > 16 </ TD >
439      < TD  class =numeric > 4152 </ TD >
440      < TD  class =numeric > 259.5 </ TD >
441      < TD  class =numeric > 1351 </ TD >
442      < TD  class =numeric > 84.4 </ TD >
443      < TD  class =numeric > 2801 </ TD >
444      < TD  class =numeric > 175.1 </ TD >
445      < TD  class =numeric > 285 </ TD >
446      < TD  class =numeric > 17.8 </ TD ></ TR >
447    < TR >
448      < TD  class =numeric ></ TD >
449      < TD > Dallas </ TD >
450      < TD  class =numeric > 16 </ TD >
451      < TD  class =numeric > 4402 </ TD >
452      < TD  class =numeric > 275.1 </ TD >
453      < TD  class =numeric > 2184 </ TD >
454      < TD  class =numeric > 136.5 </ TD >
455      < TD  class =numeric > 2218 </ TD >
456      < TD  class =numeric > 138.6 </ TD >
457      < TD  class =numeric > 246 </ TD >
458      < TD  class =numeric > 15.4 </ TD ></ TR >
459    < TR  class =alternateRow >
460      < TD  class =numeric ></ TD >
461      < TD > Denver </ TD >
462      < TD  class =numeric > 16 </ TD >
463      < TD  class =numeric > 4817 </ TD >
464      < TD  class =numeric > 301.1 </ TD >
465      < TD  class =numeric > 1877 </ TD >
466      < TD  class =numeric > 117.3 </ TD >
467      < TD  class =numeric > 2940 </ TD >
468      < TD  class =numeric > 183.8 </ TD >
469      < TD  class =numeric > 340 </ TD >
470      < TD  class =numeric > 21.2 </ TD ></ TR >
471    < TR >
472      < TD  class =numeric ></ TD >
473      < TD > Detroit </ TD >
474      < TD  class =numeric > 16 </ TD >
475      < TD  class =numeric > 4994 </ TD >
476      < TD  class =numeric > 312.1 </ TD >
477      < TD  class =numeric > 1398 </ TD >
478      < TD  class =numeric > 87.4 </ TD >
479      < TD  class =numeric > 3596 </ TD >
480      < TD  class =numeric > 224.8 </ TD >
481      < TD  class =numeric > 270 </ TD >
482      < TD  class =numeric > 16.9 </ TD ></ TR >
483    < TR  class =alternateRow >
484      < TD  class =numeric ></ TD >
485      < TD > Green Bay </ TD >
486      < TD  class =numeric > 16 </ TD >
487      < TD  class =numeric > 5463 </ TD >
488      < TD  class =numeric > 341.4 </ TD >
489      < TD  class =numeric > 1693 </ TD >
490      < TD  class =numeric > 105.8 </ TD >
491      < TD  class =numeric > 3770 </ TD >
492      < TD  class =numeric > 235.6 </ TD >
493      < TD  class =numeric > 390 </ TD >
494      < TD  class =numeric > 24.4 </ TD ></ TR >
495    < TR >
496      < TD  class =numeric ></ TD >
497      < TD > Indianapolis </ TD >
498      < TD  class =numeric > 16 </ TD >
499      < TD  class =numeric > 5955 </ TD >
500      < TD  class =numeric > 372.2 </ TD >
501      < TD  class =numeric > 1966 </ TD >
502      < TD  class =numeric > 122.9 </ TD >
503      < TD  class =numeric > 3989 </ TD >
504      < TD  class =numeric > 249.3 </ TD >
505      < TD  class =numeric > 413 </ TD >
506      < TD  class =numeric > 25.8 </ TD ></ TR >
507    < TR  class =alternateRow >
508      < TD  class =numeric ></ TD >
509      < TD > Jacksonville </ TD >
510      < TD  class =numeric > 16 </ TD >
511      < TD  class =numeric > 4840 </ TD >
512      < TD  class =numeric > 302.5 </ TD >
513      < TD  class =numeric > 1600 </ TD >
514      < TD  class =numeric > 100.0 </ TD >
515      < TD  class =numeric > 3240 </ TD >
516      < TD  class =numeric > 202.5 </ TD >
517      < TD  class =numeric > 294 </ TD >
518      < TD  class =numeric > 18.4 </ TD ></ TR >
519    < TR >
520      < TD  class =numeric ></ TD >
521      < TD > Kansas City </ TD >
522      < TD  class =numeric > 16 </ TD >
523      < TD  class =numeric > 5673 </ TD >
524      < TD  class =numeric > 354.6 </ TD >
525      < TD  class =numeric > 2008 </ TD >
526      < TD  class =numeric > 125.5 </ TD >
527      < TD  class =numeric > 3665 </ TD >
528      < TD  class =numeric > 229.1 </ TD >
529      < TD  class =numeric > 320 </ TD >
530      < TD  class =numeric > 20.0 </ TD ></ TR >
531    < TR  class =alternateRow >
532      < TD  class =numeric ></ TD >
533      < TD > Miami </ TD >
534      < TD  class =numeric > 16 </ TD >
535      < TD  class =numeric > 4821 </ TD >
536      < TD  class =numeric > 301.3 </ TD >
537      < TD  class =numeric > 1664 </ TD >
538      < TD  class =numeric > 104.0 </ TD >
539      < TD  class =numeric > 3157 </ TD >
540      < TD  class =numeric > 197.3 </ TD >
541      < TD  class =numeric > 344 </ TD >
542      < TD  class =numeric > 21.5 </ TD ></ TR >
543    < TR >
544      < TD  class =numeric ></ TD >
545      < TD > Minnesota </ TD >
546      < TD  class =numeric > 16 </ TD >
547      < TD  class =numeric > 5006 </ TD >
548      < TD  class =numeric > 333.7 </ TD >
549      < TD  class =numeric > 1523 </ TD >
550      < TD  class =numeric > 101.5 </ TD >
551      < TD  class =numeric > 3483 </ TD >
552      < TD  class =numeric > 232.2 </ TD >
553      < TD  class =numeric > 287 </ TD >
554      < TD  class =numeric > 19.1 </ TD ></ TR >
555    < TR  class =alternateRow >
556      < TD  class =numeric ></ TD >
557      < TD > New England </ TD >
558      < TD  class =numeric > 16 </ TD >
559      < TD  class =numeric > 4882 </ TD >
560      < TD  class =numeric > 305.1 </ TD >
561      < TD  class =numeric > 1793 </ TD >
562      < TD  class =numeric > 112.1 </ TD >
563      < TD  class =numeric > 3089 </ TD >
564      < TD  class =numeric > 193.1 </ TD >
565      < TD  class =numeric > 371 </ TD >
566      < TD  class =numeric > 23.2 </ TD ></ TR >
567    < TR >
568      < TD  class =numeric ></ TD >
569      < TD > New Orleans </ TD >
570      < TD  class =numeric > 16 </ TD >
571      < TD  class =numeric > 5226 </ TD >
572      < TD  class =numeric > 326.6 </ TD >
573      < TD  class =numeric > 1712 </ TD >
574      < TD  class =numeric > 107.0 </ TD >
575      < TD  class =numeric > 3514 </ TD >
576      < TD  class =numeric > 219.6 </ TD >
577      < TD  class =numeric > 333 </ TD >
578      < TD  class =numeric > 20.8 </ TD ></ TR >
579    < TR  class =alternateRow >
580      < TD  class =numeric ></ TD >
581      < TD > New York Giants </ TD >
582      < TD  class =numeric > 16 </ TD >
583      < TD  class =numeric > 5335 </ TD >
584      < TD  class =numeric > 333.4 </ TD >
585      < TD  class =numeric > 1777 </ TD >
586      < TD  class =numeric > 111.1 </ TD >
587      < TD  class =numeric > 3558 </ TD >
588      < TD  class =numeric > 222.4 </ TD >
589      < TD  class =numeric > 294 </ TD >
590      < TD  class =numeric > 18.4 </ TD ></ TR >
591 </ TBODY ></ TABLE >
592 </ BODY ></ HTML >
593
594

转载于:https://www.cnblogs.com/jizhitao/archive/2009/10/13/1582633.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值