Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery目标特定元素-下拉菜单_Javascript_Jquery_Html - Fatal编程技术网

Javascript Jquery目标特定元素-下拉菜单

Javascript Jquery目标特定元素-下拉菜单,javascript,jquery,html,Javascript,Jquery,Html,我已经创建了一个简单的jquery下拉菜单,但是当我单击一个下拉菜单时,它会打开我的所有下拉菜单,我需要向代码中添加什么才能使它只针对单击的特定元素并只打开该下拉菜单 如果以前有人问过,我会道歉 $(文档).ready(函数(){ $('a.parent')。单击(函数(){ $('.sub-menu')。滑动切换(400); }); }); $(文档).ready(函数(e){ $('a.parent')。单击(函数(e){ $(e.target)。最近

我已经创建了一个简单的jquery下拉菜单,但是当我单击一个下拉菜单时,它会打开我的所有下拉菜单,我需要向代码中添加什么才能使它只针对单击的特定元素并只打开该下拉菜单

如果以前有人问过,我会道歉

$(文档).ready(函数(){
$('a.parent')。单击(函数(){
$('.sub-menu')。滑动切换(400);
});
});

  • $(文档).ready(函数(e){
    $('a.parent')。单击(函数(e){
    $(e.target)。最近('li')。查找('s子菜单')。滑动切换(400);
    });
    });
    
    。子菜单{
    显示:无;
    }
    
    
  • $(文档).ready(函数(e){
    $('a.parent')。单击(函数(e){
    $(e.target)。最近('li')。查找('s子菜单')。滑动切换(400);
    });
    });
    
    。子菜单{
    显示:无;
    }
    
    

  • 问题在于您正在选择DOM中的所有
    .sub菜单
    元素。您只需要使用
    this
    关键字和
    next()
    检索单击的
    .parent
    的同级项:

    $(文档).ready(函数(){
    $('a.parent')。单击(函数(e){
    e、 预防默认值();
    $(this).next('.sub-menu').slideToggle(400);
    });
    });
    
    。子菜单{
    显示:无;
    }
    
    HTML:
    

    问题在于您正在选择DOM中的所有
    .sub菜单
    元素。您只需要使用
    this
    关键字和
    next()
    检索单击的
    .parent
    的同级项:

    $(文档).ready(函数(){
    $('a.parent')。单击(函数(e){
    e、 预防默认值();
    $(this).next('.sub-menu').slideToggle(400);
    });
    });
    
    。子菜单{
    显示:无;
    }
    
    HTML:
    

    使用此运算符实现此目的

    $(document).ready(function(){
        $('a.parent').click(function() {
        $(this).children('.sub-menu').slideToggle(400);
        });
    });
    

    使用此运算符可实现此目的

    $(document).ready(function(){
        $('a.parent').click(function() {
        $(this).children('.sub-menu').slideToggle(400);
        });
    });
    

    您也可以使用以下选项,而不是
    最近的
    查找
    $('.sub-menu',$(this.parent()).slideToggle(400)
    您还可以使用以下选项,而不是
    最近的
    查找
    $('.sub-menu',$(this.parent()).slideToggle(400)
    如果
    a
    ul
    之间存在元素,则可以使用以下命令:
    $(“.sub-menu”,$(this.parent()).slideToggle(400)
    如果
    a
    ul
    之间存在元素,则可以使用以下命令:
    $(“.sub-menu”,$(this.parent()).slideToggle(400)