2012-11-30 134 views
0

以下代碼對我來說工作正常,但在Chrome中無法正常工作。 我想通過Java腳本腳本在IE瀏覽器中運行時無法在谷歌瀏覽器中運行

<SCRIPT LANGUAGE="javascript"> 
function clickHandler() 
{ 
    var xid= document.getElementsByTagName("span"); 
    var xsp= xid[0].id; 

    if(xsp.charAt(0)=="M") { 
     var oC=document.getElementById("C"+xsp.substr(1)); 
     if(oC.style.display=="none") 
      oC.style.display=""; 
     else 
      oC.style.display="none"; 
    } 
} 
</SCRIPT> 

HTML代碼如下

<html> 
     <BODY onClick = "clickHandler();"> 
      <a href="javascript:void(0)"> 
       <u><b><span id=M26>2011-2012</span></b></u> 
      </a> 

      <div id=c26 STYLE="display:none"> 
       <a href="javascript:void(0)"> 
        <u><b><span id=M27>2012-2013</span></b></u> 
       </a> 
      </div> 

      <div id=c27 STYLE="display:none"> 
      </div> 
     </body> 
    </html> 
+0

是什麼在鉻確切的問題? – looper

回答

1

您可以使用大寫字母C上的功能裏面打開HTML在同一頁面中的鏈接,但該ID以小寫開頭ç

var oC=document.getElementById("C"+xsp.substr(1)); 

必須

var oC=document.getElementById("c"+xsp.substr(1)); 

請求的修改(你必須刪除從身體元素的onclick)

<script> 
document.onclick=function(e){ 

    var _this=(window.event)//reference to the clicked element 
       ? event.srcElement//IE 
       : e.target;//others 

    if(_this.id.match(/^M(\d+)$/)){//extract the number 
    try{ 
     var oC=document.getElementById("c"+RegExp.$1);//target-element 
      oC.style.display=(oC.style.display=='none')//set the display 
          ?'' 
          :'none' 
    }catch(e){} 
    } 
} 
</script> 
+0

感謝先生現在的工作非常感謝 – user1865365

+0

上面的代碼總是返回id爲26因爲我傳遞0索引我怎麼檢查點擊索引請幫助 – user1865365

+0

以上代碼添加 –

相關問題