JQuery Tablesorter не является функцией - PullRequest
1 голос
/ 19 января 2012

Я анализирую XML-файл в таблице и хочу использовать jQuery TableSorter.Я перепробовал много вещей, из которых ни одна не работала.Сначала я анализировал XML-файл через AJAX, а затем вызывал TableSorter на своей таблице.Теперь, когда у меня есть код, я вызываю TableSorter в своей таблице, запускаю AJAX, а затем обновляю таблицу с помощью $("#table).trigger("update").Я получаю эту ошибку независимо от того, есть ли у меня первый или второй способ: «$ (# table) .tablesorter () не является функцией».Есть идеи?Код приведен ниже для JS и HTML.

HTML:

<html>
<head>
    <title>Read XML</title>
    <script type="text/javascript" src="jquery-1.7.1.js"></script>
    <script type="text/javascript" src="jquery-latest.js"</script>
    <script type="text/javascript" src="jquery.tablesorter.js"</script>
    <script type="text/javascript" src="custom.js"></script>
</head>
<body>
    <table id="table" border="1">
        <thead>
            <tr>
                <th>Item #</th>
                <th>Shape</th>
                <th>Weight</th>
                <th>Color</th>
                <th>Clarity</th>
                <th>Price($)</th>
            </tr>
        </thead>
        <tbody>
        </tbody>
    </table>
</body>
</html>

JS:

$(document).ready(function() {
$("#table").tablesorter();
 $.ajax({
     type: "GET",
     url: "tutorial.xml",
     dataType: "xml",
     success: parseXml
 });
$("#table").trigger("update");
});

function parseXml(xml)
{
    $(xml).find("diamond").each(function()
    {
        $("#table tbody").after("<tr><td>" + $(this).find("id").text() + 
        "</td><td>" + $(this).find("shape").text() + "</td><td>" + $(this).find("weight").text() + 
        "</td><td>" + $(this).find("color").text() + "</td><td>" + $(this).find("clarity").text() + 
        "</td><td>" + $(this).find("price").text() + "</td></tr>");
    });
}

1 Ответ

4 голосов
/ 19 января 2012

Вы пропускаете закрытие >

<script type="text/javascript" src="jquery.tablesorter.js"</script>

должно быть

<script type="text/javascript" src="jquery.tablesorter.js"></script>

Редактировать:

As Марек Карбарз указываетниже вы также пропускаете закрывающий > в этой строке:

<script type="text/javascript" src="jquery-latest.js"</script>

Однако не уверен, почему вы включаете jQuery дважды.

...