Javascript 元素,jQuery CSS类更改不起作用

Javascript 元素,jQuery CSS类更改不起作用,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有个问题好几天都想不出来了。我有两个元素,标志和“返回”按钮在我的标题 现在,我希望这两个元素做完全相同的事情。单击后,显示相同的下拉列表。我不想复制我的代码,所以我尝试移动元素并在单击时分配正确的类 我成功地在单击时移动了我的元素,但是在一个元素上,显示:none没有改变,我真的很困惑为什么不改变 我希望下拉列表显示在单击的元素下。因此,如果单击“徽标”,下拉列表将移动到“徽标”元素并显示在徽标下,如果单击“返回”,下拉列表将移动到“返回”元素并显示在该元素下 单击后,元素会发生更改,因此它

我有个问题好几天都想不出来了。我有两个元素,标志和“返回”按钮在我的标题

现在,我希望这两个元素做完全相同的事情。单击后,显示相同的下拉列表。我不想复制我的代码,所以我尝试移动元素并在单击时分配正确的类

我成功地在单击时移动了我的元素,但是在一个元素上,
显示:none
没有改变,我真的很困惑为什么不改变

我希望下拉列表显示在单击的元素下。因此,如果单击“徽标”,下拉列表将移动到“徽标”元素并显示在徽标下,如果单击“返回”,下拉列表将移动到“返回”元素并显示在该元素下

单击后,元素会发生更改,因此它们看起来完全相同,但是“返回”元素的
display:none
属性不会更改。有人能告诉我为什么吗?

jQuery(“#签出头计数”)。单击(函数(){
jQuery(“签出标题徽标”).removeClass(“签出前置下拉列表”);
jQuery(“#签出头计数”).addClass(“签出前置下拉列表”);
jQuery(“.checkout prepend下拉列表内容”).appendTo(jQuery(“#checkout header count”);
});
jQuery(“#签出标题徽标”)。单击(函数(){
jQuery(“#签出头计数”).removeClass(“签出前置下拉列表”);
jQuery(“#签出标题徽标”).addClass(“签出前置下拉列表”);
jQuery(“.checkout prepend下拉内容”).appendTo(jQuery(“#checkout header logo”);
});
jQuery(“.checkout prepend下拉列表”)。单击(函数(){
if(jQuery(“.checkout-prepend-dropdown-content”).css('display')=='block'){
jQuery(“.checkout prepend下拉列表内容”).css(“显示”、“无”)
}else if(jQuery(“.checkout prepend dropdown content”).css('display')=='none'){
jQuery(“.checkout prepend下拉内容”).css(“显示”、“块”);
}
});
jQuery(“.checkout prepend下拉列表内容”)。单击(函数(e){
e、 停止传播();
});
jQuery(“签出前置下拉列表”)。单击(函数(e){
e、 预防默认值();
e、 停止传播();
jQuery('.checkout prepend下拉列表内容').show();
});
jQuery(文档)。单击(函数(e){
jQuery('.checkout prepend下拉列表内容').hide();
});
jQuery(“#returnCheckout”)。单击(函数(){
jQuery('.checkout prepend下拉列表内容').hide();
});
。签出前置下拉列表内容{
显示:无;
位置:绝对位置;
文本对齐:居中;
背景色:#4E4D4D;
颜色:白色;
左:-70px;
填充:10px;
z指数:20;
}
.签出前置下拉列表内容>div{
显示:内联块;
}
.签出前置下拉列表内容>div>a{
颜色:#9C2CA8;
}
.签出前置下拉列表内容>div>a:悬停{
颜色:白色!重要;
}

警告!你就要离开收银台了

返回收银台 回去
然后,您可以创建一个执行流程逻辑的函数,并将其附加到两个按钮的单击事件中,如下所示,您将确保按钮执行相同的任务:

jQuery("#checkout-header-count, #checkout-header-logo").click(function(e) {
    e.preventDefault();
    e.stopPropagation();

    toggleDropdown();
});
$(函数(){
jQuery(#签出头计数,#签出头徽标”)。单击(函数(e){
e、 预防默认值();
e、 停止传播();
切换下拉菜单(此);
});
jQuery(“.checkout prepend下拉列表内容”)。单击(函数(e){
e、 停止传播();
});
jQuery(文档)。单击(函数(e){
jQuery('.checkout prepend下拉列表内容').hide();
});
});
函数切换下拉列表(单击的元素){
jQuery(“签出标题徽标”).removeClass(“签出前置下拉列表”);
jQuery(“#签出头计数”).addClass(“签出前置下拉列表”);
jQuery(“.checkout prepend下拉列表内容”).appendTo($(单击的元素));
如果(jQuery(“.checkout-prepend下拉列表内容”)是(':visible')){
jQuery(“.checkout prepend下拉列表内容”).hide();
}否则{
jQuery(“.checkout prepend下拉列表内容”).show();
}
}
。签出前置下拉列表内容{
显示:无;
位置:绝对位置;
文本对齐:居中;
背景色:#4E4D4D;
颜色:白色;
填充:10px;
z指数:20;
}
.签出前置下拉列表内容>div{
显示:内联块;
}
.签出前置下拉列表内容>div>a{
颜色:#9C2CA8;
}
.签出前置下拉列表内容>div>a:悬停{
颜色:白色!重要;
}

警告!你就要离开收银台了

返回收银台 回去
无法确定您到底想要什么,但我可以看到您将多次单击事件附加到同一元素。。。例如,您正在将三次单击事件附加到徽标divI,但我也不明白问题所在。。想解释一下吗?我很抱歉这没有意义。。。单击“徽标”时,将显示下拉列表。当你点击“返回”按钮时,就会出现下拉列表。哦,天哪!这就是我几天来一直在努力实现的目标!!!我厌倦了各种不同的方式。。。你是我的英雄!很高兴我能帮助兄弟,快乐的编码。编码有时会很令人沮丧哈哈:)再次感谢:)祝你愉快!嘿,我以为这是解决办法,但结果不是我想要的。在您的代码中,单击哪个元素,下拉列表将显示在“返回”下,但是,我希望下拉列表显示在单击哪个元素下。。。如果这有道理的话。。。因此,如果单击徽标,下拉列表将移动到“徽标”元素并显示在徽标下,如果单击“返回”,下拉列表将移动到“返回”元素并显示在该元素下。现在检查我的代码片段,我希望它现在更有意义。对不起,一直打扰你:/I我没有接受你的回答,所以你不在的时候,其他人可能会帮我。。。对不起:(