我编写了以下代码来根据不同的标准对从JSON数组中提取的项目列表进行排序。但是,当我单击其中一个条件对列表进行排序时,我会在控制台中获得Uncaught TypeError: Object #<HTMLTableSectionElement> has no method 'sort'
。我还得到另一个错误Uncaught TypeError: Cannot read property 'rollno' of null
。可能是造成这个问题的原因是什么?
这是我的主要脚本:
$(function () {
jQuery.noConflict();
$.getJSON('results_new.json', function (data) {
results = data.results.map(function (raw) {
return {
rollno: raw.rollno,
name: raw.name,
air: raw.air
}
});
})
$('#headings th').click(function () {
var id = $(this).attr('id');
var asc = (!$(this).attr('asc'));
$('#headings th').each(function () {
$(this).removeAttr('asc');
});
if (asc) $(this).attr('asc', 'asc');
sortResults(id, asc);
});
showResults();
});
function sortResults(prop, asc) {
results = results.sort(function (a, b) {
if (asc) return (a[prop] > b[prop]);
else return (b[prop] > a[prop]);
});
showResults();
}
function showResults() {
var html = '';
for (var e in results) {
html += '<tr>' + '<td>' + results[e].rollno + '</td>' + '<td>' + results[e].name + '</td>' + '<td>' + results[e].air + '</td>' + '</tr>';
}
$('#results').html(html);
}
HTML包含theads
标题,其ID设置为rollno
,name
和air
以及自动生成的tbody
ID {{ 1}},这是空白的。
任何帮助将不胜感激!