以下一段JavaScript代碼並不符合我的預期。它是在ajax調用的成功執行的代碼,但是:儘管在$ .each value1.html_id的某些輪次中,重繪或重新加載是相等的(並且它們都是字符串),但if(){}代碼從未得到執行。我在這裏錯過了什麼?如果語句正確但未執行
的執行console.log()外的if語句被執行,我可以看到,值是相同的,但在{}的如果永遠不會被執行
success: function(result) {
activaTab(tab_id);
$.each(tables, function(key, value1) {
console.log(value1.html_id + redraw + reload)
if (value1.html_id == redraw) {
console.log('works');
value1.table.columns.adjust().draw();
}
if (value1.html_id == reload) {
console.log('works2');
value1.table.ajax.reload(null, false);
}
});
}
控制檯看起來碼這樣每次(即324 IFS線外)
scr_table2.js:324 scr-tablescr_tablescr_table1
scr_table2.js:324 scr-table1scr_tablescr_table1
scr_table2.js:324 scr-table2scr_tablescr_table1
scr_table2.js:324 scr-table3scr_tablescr_table1
使用'console.log'時,應該這樣做:'console.log(value1.html_id,redraw,reload)'。這樣你就可以區分3個變量的每一個。 –
貌似'-'和'_' - 'scr-table'和'scr_table'之間有混淆 –
console.log後缺少分號? –