JQuery 1.6.2 и IE8 ошибка - PullRequest
1 голос
/ 31 мая 2011

В несжатой версии jquery 1.6.2 инструменты разработчика IE8 сообщают мне, что строка 6096 выдает ошибку: требуется объект.

6096 читает: elem = div.childnodes;

Это часть расширения -

jquery.extend({ 
    clone: function( elem, dataAndEvents, deepDataAndEvents) { 

Я в основном вставляю или редактирую записи в базе данных MySQL и отображаю записи в табличном формате. Там, где мой скрипт ломается, я пытаюсь отобразить HTML-код - сначала я использовал $(div).html(code), но затем, читая аналогичную проблему, переключился на $(div).empty() $(div).append(code), но в любом случае я получил ту же ошибку. Соответствующая часть моего кода ниже.

 ...

 //building table body
        tableCode += "<tr row=\"row_" + i + "\">";

        tableCode += "<td class=\"fileTitle tableCell\" key=\"title\" " + backgroundColor + "><p class=\"fileTitleTD\">" + fileLink + "</p><p class=\"fileTitleDesc\">" +  dataObj[thisRowData]['fileDescription'] + "</td>";
        tableCode += "<td class=\"fileType tableCell\" key=\"fileType\" " + backgroundColor + ">" + thisFileImage + "&nbsp;" + dataObj[thisRowData]['fileTypeExt'] + "</td>";
        tableCode += "<td class=\"lastUpdate tableCell\" key=\"lastUpdate\" " + backgroundColor + ">" + dataObj[thisRowData]['fileModed'] + "</td>";

        if(thisView == "admin") { 
            tableCode += "<td class=\"edit tableCell\"" + backgroundColor + " key=\"edit\"><p class=\"adminBtns\"><a href=\"javascript:void(0);\" class=\"editRecord\" recordID=\"" + dataObj[thisRowData]['fileId'] + "\">Edit</a></p></td>";
            tableCode += "<td class=\"delete tableCell\"" + backgroundColor + " key=\"delete\"><p class=\"adminBtns\"><a href=\"javascript:void(0);\" class=\"deleteRecord\" recordID=\"" + dataObj[thisRowData]['fileId'] + "\">Delete</a></p></td>";
        }

        tableCode += "</tr>";

    }

    tableCode += "</tbody></table>";

//-->BREAKS HERE
    $("#dataResultsTableBody").empty();
    $("#dataResultsTableBody").append(tableCode);

    //check if dataContainer is being displayed, if not display it
    $("#adminLogInFormContainer").hide();
    $("#siteCategorySelect").show();
    $("#siteCategoryItemTable").show();

...

Отлично работает в текущей версии Firefox и Safari, и новые записи или отредактированные версии отображаются, когда я перезагружаю страницу. Это также было проблемой с jquery 1.4.2, я только что обновил сегодня, чтобы увидеть, исправила ли последняя сборка проблему. Любые идеи, если это проблема с моей стороны или IE или JQuery? Спасибо.

1 Ответ

4 голосов
/ 31 мая 2011

Вам необходимо иметь <tbody> элементов в динамически генерируемых таблицах.Похоже, вам не хватает вводного тега для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...