2012-11-30 57 views
0

在html中我有以下標籤。在html中的同一頁中打開子鏈接

<a href="javascript:void(0)"><span id=M26>2011-2012</span></a> 
    <div id=c26 STYLE="display:none"> 

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

on點擊2011-2012或2012-2013我想設置div標籤的displaye屬性。 我正在使用下面的Java腳本代碼,並且我正在調用身體標記中的javascript函數。輸出顯示樣式並且顯示不是對象或屬性。

 <script language="javascript"> 
    function clickHnadler() 
    { 
    var xid= document.getElementsByTagName("span"); 
    var xsp= xid[0].id; 
    alert("Span id is "+xsp); 
    if(xsp.charAt(0)=="M") 
    { 
    var oC = document.all("C"& xsp.substring(1,2)); 
    if(oC.STYLE.display == "none") 
    { 
    oC.Style.Display = ""; 
    } 
    else{ 
    oC.Style.Display = "none"; 
    } 
    } 
    } 
</script> 
+1

你的代碼亂七八糟。如果你不清理它,你將在整個應用程序的開發階段遇到大量的錯誤。如果您正確格式化,修正括號,修正拼寫和大小寫錯誤,您已經提供了很多容易解決的錯誤... –

+0

您應該更符合您的大寫和小寫。並關閉你的標籤。 –

回答

0

使用jQuery:

你可以在函數將元素或編號: 例如:

<a href="#" onclick="clickhandler(this)"><span id=M26>2011-2012</span></a> 

function clickHnadler(element) 
{ 
    var id = $(element > span).attr(id); 
    id[0] = 'c'; //not the nicest way, maybe use a replace or something like that 
    $(id).show(); //or $(id).css('display','list'); 
} 
0

您可以使用clickHandler事件有以下方式, 功能clickHandler事件(E) window.document.links [0] .handleEvent(e); }

您需要將事件空間綁定到您要處理的元素單擊。有關詳細信息,請參考以下鏈接,

http://docs.oracle.com/cd/E19957-01/816-6409-10/evnt.htm#1009606

+0

哪裏可以找到本JavaScript指南? 「最後更新:05/27/99 21:21:34」= O。 – Teemu

0

基於我從你的問題明白了,我想出了這一點。

<script type="text/javascript" src="jquery1.8.js"></script> 
    <a href="javascript:void(0)" onclick="$(this).next('div').toggle()"><span id=M26>2011-2012</span></a> 
    <div id=c26 STYLE="display:none"> 
    2011-2012 details</div> 
    <br /> 
    <a href="javascript:void(0)" onclick="$(this).next('div').toggle()"><span id=M27>2012-2013</span></a> 
    <div id=c26 STYLE="display:none"> 
     2012-2013 details 
    </div> 
相關問題