+ -
当前位置:首页 → 问答吧 → 关于昨天导航菜单延续问题

关于昨天导航菜单延续问题

时间:2009-05-26

来源:互联网

昨天的方法比较笨拙,是通过设定tr td的name进行关联的,今天尝试使用索引的方法,以下num的数值已经取到了
var num = $("thead tr td").index($(this));

之后我要怎样运用在tr上面?
$("tbody tr").get(num).show();

以上写法没有办法显示相对应的tr,就没显示过任何的东西。。。望高手指点一下,谢谢
[ 此帖被exxrdr在2009-05-26 11:27重新编辑 ]

作者: exxrdr   发布时间: 2009-05-26

已经解决 $("tbody tr:eq(" + num + ")").show();这样就可以了,不过我还是不明白为什么不能用get来取到索引,如果有人直到的话,请说明一下吧

作者: exxrdr   发布时间: 2009-05-26

get方法返回的是DOM元素,不是jQuery对象

要取jQuery对象用eq方法



昨天我的意思是用each方法,这样参数会自动获得index,就不需要再用index方法来获取了

作者: keakon   发布时间: 2009-05-26

帅哥,我对each不熟悉,早上用过,但是用不出来,你可不可以写下代码,给我参考以下?谢谢

作者: exxrdr   发布时间: 2009-05-26

这是你昨天的代码:
复制代码
  1. $("thead tr td").click(function(){
  2.         $("tbody").find("tr").hide();
  3.         var number = $(this).val();
  4.         var now_show = $("tbody tr[name=" + number + "]");
  5.         now_show.show();
  6.     });


差不多是改成这样,我没验证,思路就这样
复制代码
  1. $("thead tr td").each(function(index) { //这个index是自动传入的
  2.     $(this).click(function(){
  3.         $("tbody").find("tr").hide();
  4.         $("tbody tr:eq(" + index + ")").show(); //然后就能在这使用了
  5.     });
  6. });
或者精简为
复制代码
  1. $("tbody tr").hide().eq(index).show();

作者: keakon   发布时间: 2009-05-26

顶上

作者: 帝国使者   发布时间: 2009-05-26

太谢谢了,我会仔细琢磨一下的

作者: exxrdr   发布时间: 2009-05-26

相关阅读 更多