我使用以下脚本检索表:
$("#table").load("index #table", function(tableNew) { // code });
在执行此操作之前,我喜欢将旧表存储在变量中。检索新表时,我想将其与旧表进行比较。
var tableCurrent = document.getElementById('table');
console.log(tableCurrent); // object
$("#table").load("index #table", function(tableNew) {
var htmlNew = $.parseHTML(tableNew);
var rowsNew = htmlNew[0].getElementsByTagName('tr');
console.log(tableCurrent); // null
// compare new with old
// insert new table in DOM
});
如何在“加载”回调中“访问”旧表?我知道旧表将被删除,这是正确的。
最佳答案
编辑:存储为jquery对象,以避免击中旧的引用,因为新的jQuery对象不是对旧表DOM元素的引用
var tableCurrent = document.getElementById('table');
console.log(tableCurrent); // object
var $tableCurrent = $('#table');
$("#table").load("index #table", function(tableNew) {
var htmlNew = $.parseHTML(tableNew);
var rowsNew = htmlNew[0].getElementsByTagName('tr');
console.log($tableCurrent); // this should be the jquery table object
console.log($tableCurrent[0]); // actual table element
// compare new with old
// insert new table in DOM
});