当前位置:  开发笔记 > 前端 > 正文

使用JQuery查找下一个表行

如何解决《使用JQuery查找下一个表行》经验,为你挑选了2个好方法。

使用JQuery,如何将click事件绑定到表单元格(下面,class ="expand"),这将改变图像src(在单击的单元格中 - 原始将是plus.gif,与minus.gif交替)并根据该行是否具有"隐藏"类隐藏/显示其下方的行.(如果它有一类"隐藏"则显示它,如果它没有"隐藏"类则隐藏).我可以灵活地更改标记中的ID和类.

谢谢

表行


  
  Data1Data2Data3


   
  Data4Data5Data6

dbrien.. 18

您不需要show和hide标签:

$(document).ready(function(){   
    $('.expand').click(function() {
        if( $(this).hasClass('hidden') )
            $('img', this).attr("src", "plus.jpg");
        else 
            $('img', this).attr("src", "minus.jpg");

        $(this).toggleClass('hidden');
        $(this).parent().next().toggle();
    });
});

编辑:好的,我添加了更改图像的代码.这只是一种方法.当隐藏后面的行时,我在expand属性中添加了一个类作为标记,并在显示行时将其删除.



1> dbrien..:

您不需要show和hide标签:

$(document).ready(function(){   
    $('.expand').click(function() {
        if( $(this).hasClass('hidden') )
            $('img', this).attr("src", "plus.jpg");
        else 
            $('img', this).attr("src", "minus.jpg");

        $(this).toggleClass('hidden');
        $(this).parent().next().toggle();
    });
});

编辑:好的,我添加了更改图像的代码.这只是一种方法.当隐藏后面的行时,我在expand属性中添加了一个类作为标记,并在显示行时将其删除.


我想知道是否有任何性能差异.例如.使用一个或另一个导致不同的代码在jQuery的内部执行?

2> Pseudo Masoc..:

没有人对三元运营商有任何爱好?:)我理解可读性考虑因素,但出于某种原因,我点击它将其写为:

$(document).ready( function () {
    $(".expand").click(function() {
            $("img",this).attr("src", 
                 $("img",this)
                    .attr("src")=="minus.gif" ? "plus.gif" : "minus.gif"
            );
            $(this).parent().next().toggle();
    });
});

......并且没有任何无关的课程.

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有