本帖最后由 idragonet 于 2010-05-19 11:16:03 编辑

解决方案 »

  1.   

    this当前的操作对象你可以这样来找到操作的是哪个标签 alert("this的id为"+$(this).attr("id"));
      

  2.   


    我试过了 alert提示“undefined”
      

  3.   


    function divPanelShow(divPanel) {
        $("#" + divPanel).slideToggle(200);
    var $this = "#"+divPanel;
        var img_name = $($this).attr("title");  
        alert(img_name); //alert显示空白
        
        if (img_name == "images/expand_blue.jpg") {

            $($this).attr("src", "images/collapse_blue.jpg");
            $($this).attr("title", "点击显示详细信息");
        }
        else {
            $($this).attr("src", "images/expand_blue.jpg");
            $($this).attr("title", "点击隐藏详细信息");
        }
    }你的value没有设置,所以默认的情况下为空,再说你当时的this不知道是谁
      

  4.   


    请问有什么最优雅简单的方式 获得对象img id="Panel2img",也就是onclick所属的图片。
      

  5.   


    $(function(){
    $("#Panel2img").click(function(){
    $(this).slideToggle(200);

    var img_name1 = $(this).val(); alert(img_name1);; //这一行是不能用的因为你的标签中没有value属性
    var img_name = $(this).attr("title");  
    alert(img_name); //alert显示空白

    if (img_name == "images/expand_blue.jpg") {

    $(this).attr("src", "images/collapse_blue.jpg");
    $(this).attr("title", "点击显示详细信息");
    }
    else {
    $(this).attr("src", "images/expand_blue.jpg");
    $(this).attr("title", "点击隐藏详细信息");
    } });
    });
    这才是jquery的写法
      

  6.   

    我是个粗人,只知道完成代码,很少去管“优雅”的事<img id="Panel2img" alt="" onclick="divPanelShow('divPanel2',this);" title="点击隐藏详细信息" class="IMG_Panel" src="images/expand_blue.jpg" />
    //隐藏和显示表格内容
    function divPanelShow(divPanel,obj) {
        $("#" + divPanel).slideToggle(200);
        var img_name = obj.value;  
        alert(img_name); //alert显示空白
        
        if (img_name == "images/expand_blue.jpg") {
            $(obj).attr("src", "images/collapse_blue.jpg");
            $(obj).attr("title", "点击显示详细信息");
        }
        else {
            $(obj).attr("src", "images/expand_blue.jpg");
            $(obj).attr("title", "点击隐藏详细信息");
        }
    }
      

  7.   

    楼主你要明白取标签属性的时候这个属性有没有值,怎么去取?这个img标签根本没有html的内容你取的话肯定为null啊,有属性不错,但是你 没有设置值,那么取出的不是null就是“”
      

  8.   

    你就是要切换两个图片,没必要写成这样的。<img id="Panel2img" alt="" onclick="divPanelShow($(this),'info');" title="点击显示详细信息" class="IMG_Panel" src="images/collapse_blue.jpg" />
    <img id="Panel2img" alt="" onclick="divPanelShow($(this).perv(),'pic');" title="点击隐藏详细信息" class="IMG_Panel" src="images/expand_blue.jpg" style="display:none" />function divPanelShow(e,mytype)
    {
         if(mytype=="info")
           {
            e.hide();
            e.next().show();
             }else{
            e.show();
            e.next().hide();
           }      
    }
      

  9.   

    谢谢这位热心回答。最后改成这样了。
    //隐藏和显示表格内容
    function divPanelShow(e,divPanel) {
        $("#" + divPanel).slideToggle(200);    var img_name = e.attr("src");    if (img_name == "images/expand_blue.jpg") {
            e.attr("src", "images/collapse_blue.jpg");
            e.attr("title", "点击显示详细信息");
        }
        else {
            e.attr("src", "images/expand_blue.jpg");
            e.attr("title", "点击隐藏详细信息");
        }
    }
      

  10.   


    <img id="Panel2img" alt="" onclick="JavaScript:divPanelShow($(this),'divPanel2');" title="点击隐藏详细信息" class="IMG_Panel" src="images/expand_blue.jpg" />