Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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,给定以下代码。考虑下面的问题,为什么在代码> > d1 < /代码>中的东西没有从“命令”中获取样式,我尝试过使用 .AddioSuth/Cuff>函数,以显示我的菜单。以下项目是下拉菜单。如果我添加(“alert(“hello”);”),它将打印出该消息,尽管它永远不会应用这些样式或类。为什么呢 $('#d1')。单击(函数(){ $(this.attr('style','display:block!important'); }); 。下拉列表{ 显示:无; } .主动{ 颜色:红色;}

给定以下代码。考虑下面的问题,为什么在代码> > d1 < /代码>中的东西没有从“命令”中获取样式,我尝试过使用<代码> .AddioSuth/Cuff>函数,以显示我的菜单。以下项目是下拉菜单。如果我添加
(“alert(“hello”);”)
,它将打印出该消息,尽管它永远不会应用这些样式或类。为什么呢

$('#d1')。单击(函数(){
$(this.attr('style','display:block!important');
});
。下拉列表{
显示:无;
}
.主动{
颜色:红色;}

标志

您必须以要显示的
next()
ul为目标

//获取对所有链接的引用
var$dropdownLinks=$('.dropdownlink');
//将单击处理程序绑定到链接。
$dropdownLinks.on('click',function()){
var$this=$(this);
//从其他链接中删除活动类
$dropdownLinks.not(this.removeClass('active');
//切换此元素上的活动类,使其可以打开或关闭
$this.toggleClass('active');
});
//如果链接处于活动状态,则将其设置为红色
。下拉链接。活动{
颜色:红色;
}
//隐藏紧跟其后的同级下拉列表元素
//下拉链接的链接,只要它不处于活动状态
.下拉链接:非(.active)+.下拉列表{
显示:无;
}

标志

您必须以要显示的
next()
ul为目标

//获取对所有链接的引用
var$dropdownLinks=$('.dropdownlink');
//将单击处理程序绑定到链接。
$dropdownLinks.on('click',function()){
var$this=$(this);
//从其他链接中删除活动类
$dropdownLinks.not(this.removeClass('active');
//切换此元素上的活动类,使其可以打开或关闭
$this.toggleClass('active');
});
//如果链接处于活动状态,则将其设置为红色
。下拉链接。活动{
颜色:红色;
}
//隐藏紧跟其后的同级下拉列表元素
//下拉链接的链接,只要它不处于活动状态
.下拉链接:非(.active)+.下拉列表{
显示:无;
}

标志
您可以试试这个

$('ul li a')。单击(函数(){
$(“ul li>a”)。移除类(“活动”);
$(此).addClass(“活动”);
if($(this).next('.dropdownlist').length!=0){
$(this).next('.dropdownlist').slideToggle();
}
});
。下拉列表{
显示:无;
}
.主动{
颜色:红色;
}

标志
您可以试试这个

$('ul li a')。单击(函数(){
$(“ul li>a”)。移除类(“活动”);
$(此).addClass(“活动”);
if($(this).next('.dropdownlist').length!=0){
$(this).next('.dropdownlist').slideToggle();
}
});
。下拉列表{
显示:无;
}
.主动{
颜色:红色;
}

标志

您正在将样式添加到#d1,而不是它后面的
ul
…您正在将样式添加到#d1,而不是它后面的
ul
…非常感谢!工作完美无瑕。老实说,我使用的是“最近的”变量,所以我的思路几乎正确。再次感谢您,并且(我不知道您是否已经这样做了)请注意,如果您在两个链接上都放置了一个公共类,那么您的选择器可以更改为该类,然后代码对所有链接都有效@阿德里亚尼不太明白。我得到了“common class”部分,但没有剩余的
可能是
之类的。与
d2
链接相同。然后脚本将从
$('#d1')更改。单击(
$('.dropdown link')。单击(
,然后它将与它们一起工作@Adrian@Adrian好的,我已经更新了我的答案,加入了使用公共类的版本,以及打开和关闭菜单的逻辑。我在javascript和css中加入了注释。非常感谢!工作完美。老实说,我在玩“最近的”变量,所以我几乎