我是一个Jquery新手。我正在尝试创建一个手风琴菜单。我已经能够让以下js与以下HTML代码一起工作。
function initMenu() {
$('#menu ul').hide();
$('#menu li a').click(
function() {
$(this).next().slideToggle('normal');
}
);
}
$(document).ready(function() {initMenu();});
。
<li>
<a href="#">Testing #1</a>
<ul>
<li><a href="http://www.php.net/">PHP</a></li>
<li><a href="http://www.ruby-lang.org/en/">Ruby</a></li>
</ul>
</li>
<li>
<a href="#">Test #2</a>
<ul>
<li><a href="http://www.php.net/">PHP</a></li>
<li><a href="http://www.ruby-lang.org/en/">Ruby</a></li>
</ul>
</li>
我想对每个li使用table。我不确定这是不是最好的方法。到目前为止,我有这样的想法:
<ul>
<li>
<table border="1">
<tr>
<td><a href="http://www.link1.com/">Link-1</a></td>
<td><a href="http://www.link2.com/">Link-2</a></td>
<td><a href="http://www.link3.com/">Link-3</a></td>
</tr>
</table>
</li>
我需要调整我的js才能在这种情况下工作吗?有了表,它看起来仍然可以工作,但我怀疑我将生成比完成此任务所需的更多的标记(数据)。
如有任何帮助或建议,我们将非常感谢!
发布于 2010-10-05 17:55:27
你所拥有的会起作用的,you can test it here。不过,有一个建议,你可以缩短这段代码:
$(document).ready(function() {initMenu();});
下至:
$(initMenu);
当将一个函数传递给$()
时,它会将该函数作为document.ready
处理程序附加,并在页面准备就绪时执行。You can test that here或匿名函数版本like this
$(function () {
$('#menu ul').hide();
$('#menu li a').click(function() {
$(this).next().slideToggle('normal');
});
});
https://stackoverflow.com/questions/3862533
复制相似问题