如何使用Jquery基于父li属性设置子li属性?

时间:2011-11-21 09:53:53

标签: jquery css menu

我有如下的菜单结构,

<div class="submenu">
<ul class="treeview">
  <li class="submenu" id="menu-item-5592" style="background-image: url('open.gif');">
     <a href="/Products/Category/Large-Custom-Water-Features">Large Custom Water Features</a>   
     <ul class="sub-menu" rel="open" style="display: block;">          
       <li class="submenu" >
         <ul class="submenu" rel="closed" style="disply:none;">
          <li></li>
          <li></li>          
         </ul>
       </li>       
     </ul>    
  </li>    
</ul>
</div>

在上面的菜单中,整个li都有style="background-image: url('open.gif');"。以前是style="background-image: url('closed.gif');"

点击该链接时设置的上述属性。当我点击该链接时我需要将显示属性从<ul class="submenu" rel="closed" style="display:none;">更改为<ul class="submenu" rel="closed" style="display:block;">

我该怎么做?

1 个答案:

答案 0 :(得分:0)

这不是你问题的一个非常具体的答案,而是更多的建议:

我不会处理style属性,而是向<li>close等每个open元素添加/删除一个类(或重用{{1}你已经拥有的属性),然后用CSS解决你的问题。

这将逻辑问题(您只更改抽象的打开/关闭状态)与这些状态的直观表示区分开来。

jQuery非常支持这种方法。