2016-01-13 30 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

回答

相关问题