jQuery 列表图标更改

标签 jquery html list dynamic webpage

我有一个下拉列表和一些代码来执行下拉子项的操作并更改列表图标:此 fiddle 的完整设置:http://jsfiddle.net/Gwbfd/3/

$(document).ready(function(){
 $('.drawer').hide();
  $('.handle').click(function(){
    $(this).siblings().slideToggle('slow');
    $(this).closest('ul').toggleClass('expanded');
    $(this).closest('ul').toggleClass('collapsed');
                               });  
                             });

该列表是多层的,我遇到的问题是第二层有多个子项,当我单击其中一个第二层子项时,它会更改两个子项的图标。

最佳答案

您需要直接设置 li 元素的样式,这需要对您的代码进行一些修改:

$(document).ready(function(){
   $('.drawer').hide();
   $('li:has(ul)').addClass("collapsed");
   $('.handle').click(function(){
      $(this).siblings().slideToggle('slow');
      $(this).closest('li').toggleClass('expanded');
      $(this).closest('li').toggleClass('collapsed');
  });
});

在 CSS 中:

li.expanded{
list-style: outside url('http://www.theparisreview.org/images/expand-icon.png') none;
    margin-left: 30px;
}

li.collapsed{
    list-style: outside url('http://www.theparisreview.org/images/collapse-icon.png') none;
    margin-left: 30px;
}

演示:http://jsfiddle.net/Gwbfd/8/

关于jQuery 列表图标更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14588710/

相关文章:

algorithm - 如何找到在 O(1) 空间和 O(n) 时间成本(有界元素大小)的未排序列表中出现 k 次的元素

javascript - 将 PHP 脚本返回的数据传递到 Highcharts data[] block 中?

jquery数组/按顺序从数组调用函数

php - 为什么 ruby​​ 的 to_json 会破坏嵌入式 javascript?

html - 如何指定图像出现在您网站的 facebook 链接中?

javascript - Ember : How to render an element every n elements in a list?

javascript - Highcharts - 堆积柱形数据系列

html - 我需要有关第 n 个 child 的帮助

javascript - 将鼠标悬停以暂停选取框

c# - linq 按类类型过滤