2014-02-17 61 views
-1

JavaScript運行時錯誤:'console'在Internet Explorer 8中未定義?JavaScript運行時錯誤:'console'在Internet Explorer 8中未定義?

Login form window.onload = function() {

 //Select the edit visitors Tab 
     var siblings = ($("li.pull-right").siblings()); 

     for (var i = 0; i <= siblings.length - 1; i++) { 
      console.log(siblings[i].innerText.trim().toLowerCase()); 
      if (siblings[i].innerText.trim().toLowerCase() == "edit visitors") { 
       siblings[i].setAttribute("class", "active pull-right"); 
      } else { 
       siblings[i].setAttribute("class", "pull-right"); 
      } 
     } 

     </script> 
    </head> 
    <body> 
     <div> 
      <ul class="nav nav-tabs nav-core nav-heros"> 
        <li class="pull-right"><a href="EditVisitor.aspx">Edit Visitors</a></li> 
        <li class="pull-right"><a href="EditNews.aspx">Edit News</a></li> 
        <li class="pull-right"><a href="SelectTemplate.aspx">Select Template</a></li> 
        <li class="pull-right"><a href="Settings.aspx">Settings</a></li> 
        <li class="active pull-right"><a href="Home.aspx">Home</a></li> 
       </ul> 
     </div> 
    </body> 
</html> 
+0

粘貼http://jsfiddle.net/ –

+0

代碼移除'console.log(siblings [i] .innerText.trim()。toLowerCase());'因爲IE不支持它。 –

回答

0

從你的代碼中刪除console.log,還你錯過的window.onload()一個}

還可以使用$(document).ready()代替window.onload

$(function() { 
    var siblings = ($("li.pull-right").siblings()); 
    for (var i = 0; i <= siblings.length - 1; i++) { 
     if (siblings[i].innerText.trim().toLowerCase() == "edit visitors") { 
      siblings[i].setAttribute("class", "active pull-right"); 
     } else { 
      siblings[i].setAttribute("class", "pull-right"); 
     } 
    } 
}); 
+0

它工作正常Rohan ... :) – sharadrathore046

0

如果您使用的舊的瀏覽器,他們可能沒有一個控制檯。嘗試這樣做:

if (window.console) { 
    console.log(siblings[i].innerText.trim().toLowerCase()); 

或甚至是全球範圍內設置它,如果它不存在:

// In a JS file that loads early 
if (!window.console) { 
    window.console = { log: function() {} }; // For example 
} 
0

您使用的是什麼瀏覽器?

把這個代碼進入初始功能,以避免不確定的裁判

if (!window.console) console = {log: function() {}}; 
0

舊的瀏覽器如IE不支持的console.log調用。

更好手動刪除,如果你在你的代碼

有這麼多的控​​制臺,然後使用

if(typeof(console) === 'undefined') { 
    var console = {} 
    console.log = console.error = console.info = console.debug = console.warn = console.trace = console.dir = console.dirxml = console.group = console.groupEnd = console.time = console.timeEnd = console.assert = console.profile = function() {}; 
} 
0

如果您使用的是IE就會拋出這個錯誤。在Chrome/Firefox中試試這個。控制檯不是標準的一部分,並且是DOM的擴展。你可以用它來看看你的瀏覽器支持: -

function log(text) { 
    if (window.console) { 
    window.console.log(text); 
    } 
} 
0

下面是正確的代碼

window.onload = function() { 
     var siblings = ($("li.pull-right").siblings()); 

      console.log(siblings.text().trim().toLowerCase()); 
      if (siblings.text().trim().toLowerCase() == "edit visitors") { 
       siblings.attr("class", "active pull-right"); 
      } else { 
       siblings.attr("class", "pull-right"); 
      }; 
}; 

如果您使用的是不需要用for循環來檢查所有「禮」。 '.siblings'已經用類名選擇了所有的li元素。

相關問題