当前位置:  开发笔记 > 编程语言 > 正文

打开/关闭图标

如何解决《打开/关闭图标》经验,为你挑选了1个好方法。

我正在用jQuery做一些shennanigans,在我的扩展器旁边添加一些加/减图标.它类似于windows文件树或firebugs代码扩展器.

它有效,但不够具体.

希望这是有道理的......

$('div.toggle').hide();//hide all divs that are part of the expand/collapse
$('ul.product-info li a').toggle(function(event){
  event.preventDefault();
  $(this).next('div').slideToggle(200);//find the next div and sliiiide it
  $('img.expander').attr('src','img/content/info-close.gif');//this is the part thats not specific enough!!!
},function(event) { // opposite here
  event.preventDefault();
  $(this).next('div').slideToggle(200);
  $('img.expander').attr('src','img/content/info-open.gif');
});



$('img.expander')页面上有很多标签,但我需要具体.我已经尝试了next()功能(就像我以前用来查找下一个div),但它说它未定义.如何找到我的特定img.expander标签?谢谢.

编辑,根据道格拉斯的解决方案更新代码:

$('div.toggle').hide();
            $('ul.product-info li a').toggle(function(event){
                //$('#faq-copy .answer').hide();
                event.preventDefault();
                $(this).next('div').slideToggle(200);
                $(this).contents('img.expander').attr('src','img/content/info-close.gif');
                //alert('on');
            },function(event) { // same here
                event.preventDefault();
                $(this).next('div').slideToggle(200);
                $(this).contents('img.expander').attr('src','img/content/info-open.gif');
            });

Douglas Mayl.. 5

$(this).contents('img.expander')

这就是你想要的.它将选择列表中所有子节点.在您的情况下,您的所有图像都嵌套在list元素中,因此这将仅过滤掉您想要的内容.



1> Douglas Mayl..:
$(this).contents('img.expander')

这就是你想要的.它将选择列表中所有子节点.在您的情况下,您的所有图像都嵌套在list元素中,因此这将仅过滤掉您想要的内容.

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