2016-01-13 57 views
0

所有行我有JavaScript代码,仅Firefox不会运行的一条线。我已经通过stackoverflow,mozilla等搜索...所有指向JavaScript被启用,但它被启用和除一行不会运行的所有脚本。它在if语句中 - 一个语句在'if'语句中执行,另一个语句不执行。没有答案的话题仅Firefox不会运行JavaScript代码的一行中的if语句但并运行其他线路 - Chrome和Safari上运行的代码

任何地方,这是我的代码:

/*figuring out how to fill in cell values using js*/ 

//need to set i counter according to which day is the 1st of the month 

var i; //loop counter - correlates to <td> array 

switch(firstId) { 
    case 1 : 
     i = 0; 
     break; 
    case 2 : 
     i = 1; 
     break; 
    case 3 : 
     i = 2; 
     break; 
    case 4 : 
     i = 3; 
     break; 
    case 5 : 
     i = 4; 
     break; 
    case 6 : 
     i = 5; 
     break; 
    case 7 : 
     i = 6; 
     break; 
} 

var add = i; 
var subt = i - 1; 
var x = document.getElementsByClassName("jan"); 
for(i; i < count + add; i++) { 
    x[i].style.backgroundColor = "#dadfe7"; 
    x[i].innerText = (i - subt); 
} 

火狐不会跑这条线 x[i].innerText = (i - subt);if声明 但Chrome和Safari做的最后一行。 在Chrome或Firefox检查器中我看不到任何错误。

我将不胜感激任何帮助。你可以看到 http://sunsetprayers.com/http://sunsetprayers.com/

这是一个2016年日历 - 我正在学习JavaScript,并希望在正确的广场使用JavaScript代码加载几个月。

任何帮助非常感谢! 〜jeanie

+0

['innerText'可能重复在IE中使用,但不在Firefox中](http://stackoverflow.com/questions/1359469/innertext-works-in-ie-but-not-in-firefox) – rosscj2533

+0

为什么你会用那个switch语句而不是一个'if'语句,它从'firstId'中减1并将其赋值给'i'? – jfriend00

回答

3

innerText是Internet Explorer的发明,也许Chrome适应它。但不是一个标准。要编写标准的使用textContent

https://developer.mozilla.org/en/docs/Web/API/Node/textContent

x[i].textContent = (i - subt);

在文档中,你可以找到textContentinnerTextinnerHTML

注意,你说之间的差异:

我已经通过stackoverflow搜索,moz illa等...都指向javascript被启用,但它被启用,除一行之外的所有脚本都不会运行。

但事实并非如此,我花了10秒钟才找到MDN文档。

+1

谢谢马科斯!这解决了它。我将读取您在10秒内发现的所有文档!我希望我已经找到了。对JavaScript很新颖我不是100%正确的术语来找到我需要的答案。但我会100%阅读你分享的所有内容。非常感谢您的时间! – jeaniem

+0

不客气,不用担心。做一个好的搜索节省你很多时间!祝你好运:) –

+0

谢谢!对你也是如此......在你所做的一切中:-) – jeaniem