我有一个嵌套列表:
<ul>
<li><a href='#'>stuff</a></li>
<li><a href='#'>stuff2</a></li>
<ul>
<li><a href='#'>stuff3</a></li>
</ul>
<li><a href='#'>stuff4</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
...并且想要在单击li时折叠嵌套的ul.在我使用之前
$('UL LI').click(function(){
$(this).next().slideToggle();
});
Run Code Online (Sandbox Code Playgroud)
...但是当li没有嵌套ul后,这显然会导致问题.有没有更好的方法来做到这一点,或者有没有办法让我确定$(this).next()返回的对象是否是UL?
if($(this).next().is("ul")) {
}
Run Code Online (Sandbox Code Playgroud)
应该做的伎俩.请参阅:http://api.jquery.com/is/
$('LI').toggle(function() {
$(this).children('ul').slideUp();
},
function() {
$(this).children('ul').slideDown();
});
Run Code Online (Sandbox Code Playgroud)
这假设您指的是被点击的LI下列出的UL.如果您希望特定的UL在单击任何 LI 时崩溃,您可能需要编写一些带有更多检查的内容.
| 归档时间: |
|
| 查看次数: |
6083 次 |
| 最近记录: |