在html的同一页面中打开子链接

时间:2012-11-30 10:00:23

标签: javascript html javascript-events html-parsing

在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脚本代码,我在body标签中调用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>  

3 个答案:

答案 0 :(得分:0)

使用jquery:

你可以传递函数元素或Id: 例如:

<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');
}

答案 1 :(得分:0)

你可以使用clickHandler有以下方式,     function clickHandler(e){         window.document.links [0] .handleEvent(E);     }

您需要将事件与您要处理的元素进行空间绑定。欲了解更多信息,请参阅以下链接,

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

答案 2 :(得分: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>