2014-07-22 26 views
0

在我目前的工作環境網站(運行from cloud 9 IDE)我有兩個代碼非常簡單的塊:Cloud 9無法使用簡單的JavaScript代碼檢索類?

HTML

<span class="subject"> Github </span> 
<div class="content"> 
    <hr> 
    <span class="lSubj" style="color: navy;"> <a href="link"> Link </a> </span> 
    <pre><div class="gitContent">Filler Text</div></pre> 
</div> 

的Javascript:

function gitFire(){ 
    var gits = document.getElementsByClassName("gitContent"); 
    for(var i = 0; i < gits.length; i ++) 
    { 
     var element = gits[i]; 
     alert(element.innerHTML); 
    } 
} 

document.onload += gitFire(); 

CLOUD 9的空間鏈接:https://c9.io/lemony_andrew/leandrew/workspace/test.html

的js小提琴鏈接:http://jsfiddle.net/T3jkp/1/

  1. 在調試控制檯沒有錯誤。
  2. 雲9沒有找到類,但jsfiddle。
  3. Cloud 9 執行代碼。我相信問題是:getElementsByClassName
  4. document.onload += gitFire;更改爲document.onload = gitFire;不影響結果。

我認爲這可能是雲9的錯,但我從來沒有像這樣的任何問題。爲什麼它可能工作在jsfiddle而不是我的工作區?

回答

0

立即執行gitFire而不是附加onload處理函數。它適用於JSFiddle,因爲它們始終在執行腳本之前等待DOM加載。

document.onload = gitFire; 
+0

'document.onload + = gitFire();'和'document.onload = gitFire;'做的事情完全一樣。 (至少在結果中)。感謝您的輸入。 – Andrew

+0

等待!!請解釋一下自己,我只是嘗試了一些與你的答案有關的東西:'window.onload = function(){'使腳本工作..'window.onload = function(){'但我改變它的工作這個:'window.onload = function(){window.onload + gitFire(); };'現在,這隻能使用窗口。爲什麼不記錄? – Andrew

+0

我不知道,document.onload不會在Firefox中執行。最好的解決方案是'document.addEventListener(「DOMContentLoaded」,gitFire);';它適用於所有現代瀏覽器。 – jgillich