0
我的jQuery插件有問題。我不能發佈整個腳本,因爲它會太大,這是一個小的和修改後的摘錄。基本上,它的工作原理是這樣的:jQuery的克隆()與孩子和保存到數據()作爲備份元素?
- AJAX調用,如果結果集爲空然後備份元素,它的內容(如果沒有已備份的定義)和覆蓋它的內容
- 如果結果集包含數據查找其中的某些元素並使用.html()來顯示數據
但上面有些問題。當連續三次執行呼叫時,備份的孩子都是空的!
任何幫助,非常感謝。這裏是控制流程的簡化版本:
var backup = function() { this.data('backup', this.clone(true)); }
var onObjectProperty = function(obj) {
// This is where my script fail!!! 3 consecutive times of empty data,
// and children() contains no data!
if($.type(this.data('backup')) !== 'undefined')
console.log(this.data('backup').children());
};
if(!val.error && !val.count) // Not an error, but data is empty
{
// Keyword "this" is the current element in selection loop (on which
// the plugin was invoked)
if($.type(context.data('backup')) === 'undefined')
backup.call(this); // Backup if not already defined
opt.onEmpty.call(context); // Call the function to handle empty data
return true; // Skip the current iteration in the loop
}
// Here we have no errors and result set contains data
onObjectProperty.call(this, obj); // Pass the context and the data
編輯:發現錯誤,將它添加到DOM之前並沒有克隆備份!
固定,結果也沒有改變。 – gremo 2012-01-30 20:12:12
感謝您的努力,+1只是爲了嘗試。去測試它並報告! – gremo 2012-01-30 21:13:30
你讓我的一天!該錯誤並不克隆備份本身(並在修改之後不久)! – gremo 2012-01-30 22:02:29