现在有一个A标签,如下:
<a id="advanceOption" href="JavaScript:void(0)" onclick="showOrHideOption(this.id,'AdvancedOptions', 'Expand','Collapse')" class="Expand">显示高级选项</a>我想在jQuery中去改变该A标签的class,并且隐藏或显示id为AdvancedOptions的元素。但有一个条件,就是在该A标签中不去指定当前A标签的ID,也就是不能在A标签的onclick事件中加入:this.id.
如下:<a id="advanceOption" href="JavaScript:void(0)" onclick="showOrHideOption('AdvancedOptions', 'Expand','Collapse')" class="Expand">显示高级选项</a>我该如何做?

解决方案 »

  1.   

    function showOrHideOption(a,b,c){
        //获取事件
        var e = window.event;
            //获取元素
            obj = e.target || e.srcElement;
    }
      

  2.   


    jQuery(function($) {   
                $("#advanceOption").bind("click", function(){
                    $(this).attr("class","changeClass");
                    $("#AdvancedOptions").hide();
                }); 
            }); 这样可以么 。
      

  3.   


    function showOrHideOption(t, a, b, c)
    {
       $(t).attr("class","abc");
       $("#AdvancedOptions").toggle()
    }
    //html 代码
    <a id="advanceOption" href="JavaScript:void(0)" onclick="showOrHideOption(this,'AdvancedOptions', 'Expand','Collapse')" class="Expand">
      

  4.   

    我的想法是,不在事件中带this
    原来是这样:
    <a id="advanceOption" href="JavaScript:void(0)" onclick="showOrHideOption(this.id,'AdvancedOptions', 'Expand','Collapse')" class="Expand">显示高级选项</a>
    现在想改成:
    <a id="advanceOption" href="JavaScript:void(0)" onclick="showOrHideOption('AdvancedOptions', 'Expand','Collapse')" class="Expand">显示高级选项</a>第二句去掉了:this.id或者this这样如何获取触发事件的a标签?
      

  5.   


    //获取事件
      var e = window.event;
      //获取元素
      obj = e.target || e.srcElement;这样就可以了。。obj就是你要的标签
      

  6.   

    function showOrHideOption(hideid, str1,str2){
    event.target.className = 'myclass';
    document.getElementById('hideid');
    }
      

  7.   

    function showOrHideOption(hideid, str1,str2){
    event.target.className = 'myclass';
    document.getElementById(hideid);
    }