2016-01-13 35 views
0

有三行console.log在我的代碼在這裏:的Firefox/Firebug的JavaScript的CONSOLE.LOG不工作在for循環在某些情況下

的JavaScript

window.onload = function() 
{//console.log('window.onload'); 
var tr = document.getElementsByTagName('table').0].getElementsByTagName('tr'); 

for (var i = 0; i < tr.length; i++) 
{ 
    console.log('i,1 = '+i); 

    (function(i) 
    { 
    console.log('i,2 = '+i); 

    if (tr[i].getElementsByTagName('input').length>1) 
    { 
    tr[i].getElementsByTagName('input')[1].addEventListener('click', function(event) {sessionStorage.hash_self_tr = i;}, false);}})(i); 
    } 
    } 

HTML

<table> 
<tr><td>1<input type="checkbox" /></td></tr> 
<tr><td>2<input type="checkbox" /></td></tr> 
<tr><td>3<input type="checkbox" /></td></tr> 
</table> 

Firefox爲什麼第二個和第三個console.log記錄器不會觸發,除非我取消註釋第一個console.log這在Chrome中正常工作。

+0

你有沒有用'id'表 – depperm

+0

的元素,你可以發佈了一個可以運行的例子嗎? – CoderPi

+0

@CodeiSir在https://jsfiddle.net/kk6ypfqb/創建了一個jsfiddle,儘管Firefox給了我一個iframe沙盒安全錯誤。這個問題更多的是好奇心,我真的不希望增加我個人發佈從未得到修復的bug報告的比例。 – John

回答

相關問題