如何从jQuery对象中仅提取第一个元素?
问题描述:
我有一个菜单,其中有两个子菜单,当用户单击相应的菜单标题时,通过滑动打开动画。这个功能是通过本规范规定:如何从jQuery对象中仅提取第一个元素?
$('ul#main_menu > li:has(ul.sub-menu)').click(function()
{
var $sublist = jQuery(this).find('ul:first');
$sublist.slideToggle('fast');
return false;
});
现在,我要让第一个子菜单打开的时候对我已经成立了一个跨用户点击(它具有open_artists
的id
我一直。试图修改上面的代码来完成这个工作,但打开两个子菜单,我只是想打开第一个子菜单
function openArtists() {
var $sublist = jQuery('ul#main_menu > li:has(ul.sub-menu)').find('ul:first');
$sublist.slideToggle('fast');
return false;
}
$('#open_artists').click(openArtists);
我试着将它修改为:
function openArtists() {
var $sublist = jQuery('ul#main_menu > li:has(ul.sub-menu)').find('ul:first');
var $firstsublist = jQuery('$sublist').first();
$firstsublist.slideToggle('fast');
return false;
}
$('#open_artists').click(openArtists);
但这不起作用。我也没有尝试过其他任何东西。
答
你应该首先选择UL然后找到子列表
function openArtists() {
var $sublist = jQuery('ul#main_menu > li:has(ul.sub-menu)').find('ul').eq(0);
$sublist.slideToggle('fast');
return false;
}
+0
非常好,先生。谢谢! – PapaHotelPapa 2014-10-12 02:31:14
+0
您的欢迎兄弟 – 2014-10-12 05:48:31
能否请您也添加到您的html样机?也可以尝试'.eq(0)'代替'.first()'。不知道它是否会工作,直到我们看到您的HTML。 – Newtt 2014-10-11 19:05:47
要回答这个问题,我们需要查看您的相关([MCVE](http://stackoverflow.com/help/mcve))HTML。 – 2014-10-11 19:06:01