Javascript 为什么这不是';这个AJAX函数不能改变颜色吗?

Javascript 为什么这不是';这个AJAX函数不能改变颜色吗?,javascript,jquery,html,css,ajax,Javascript,Jquery,Html,Css,Ajax,我想做的是我有一个glyphicon框,如果有通知,我希望框的颜色随着通知的计数而改变。我想我快到了,但就是不行。我检查过了,但是CSS没有通过。这就是我所做的 $("#notification_dropdown").removeClass('notification'); 我在导航栏里有这个 <li class="dropdown"> <a href="#" class="dropdown-toggle notification-toggle" data-toggle=

我想做的是我有一个glyphicon框,如果有通知,我希望框的颜色随着通知的计数而改变。我想我快到了,但就是不行。我检查过了,但是CSS没有通过。这就是我所做的

$("#notification_dropdown").removeClass('notification');
我在导航栏里有这个

  <li class="dropdown">
<a href="#" class="dropdown-toggle notification-toggle" data-toggle="dropdown" role="button" aria-expanded="false" id="button">
<span class='glyphicon glyphicon-inbox' aria-hidden="true"></span>
<span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu" id='notification_dropdown'>

              </ul>
            </li>
$("#notification_dropdown").removeClass('notification');
否则

$("#notification_dropdown").removeClass('notification');
对于CSS,我有这个

$("#notification_dropdown").removeClass('notification');
#notification_dropdown{
}

#notification_dropdown.notification{
  background-color: red;
}
正如你所看到的,颜色应该是红色,但它不起作用。我想我需要把图标框的#按钮放在某个地方,但我不知道。此外,我不知道如何使计数显示在框中

$("#notification_dropdown").removeClass('notification');
如果我在控制台中使用
$(“#通知_下拉列表”)
,我会得到

$("#notification_dropdown").removeClass('notification');
<ul class="dropdown-menu notification" role="menu" id="notification_dropdown"> <li role="presentation" class="dropdown-header">Notifications</li><li><a href="/notifications/164/?next=/post/test0/">content</a></li><li><a href="/notifications/165/?next=/post/test0/">content</a></li></ul>
  • 通知

我试图让它像堆栈溢出一样,通知框随计数而改变颜色-这可能吗?

要改变Glyphion的颜色,需要改变颜色属性,而不是背景:

$("#notification_dropdown").removeClass('notification');
#notification_dropdown.notification{
  color: red;
}

在整个html中是否存在具有相同id“notification_dropdown”的元素?请检查html并按此Id查找。它可能以隐藏形式存在。在这种情况下,css可能会应用于该隐藏元素而不是该可见元素

$("#notification_dropdown").removeClass('notification');
如果是,请尝试:

$("#notification_dropdown").removeClass('notification');
$("#notification_dropdown:visible").removeClass('notification');

$("#notification_dropdown").removeClass('notification');
试试这个:

$("#notification_dropdown").removeClass('notification');
setTimeout(function(){
   $("#notification_dropdown:visible").addClass('notification');
}, 2000);

$.ajax
配置选项中使用
dataType:'json'
,或者在
success
回调中使用
json.parse()
手动将字符串解析为json。您是否获得console.log(count)的值。?是否已检查data.count是否有任何值。同时尝试将css更改为仅.notification,而不是#notification_下拉列表。notification@Tushar你能在回答中说明这一点吗?我试试看definitely@DemoUser是的,我看到了计数…只是不知道如何显示好这是改变glyhicon颜色的方法-必须是您使用的选择器或确定的逻辑班级。尝试将此样式规则作为内联样式规则添加到glyphicon以确认颜色更改,然后反向工作以确定如何选择它/modiufy ithmm谢谢…我尝试了…尝试像那样缠绕我的头,但失败了,因此我在此处发布了:)…注意“#notification_dropdown.notification不会以glyphicon为目标,因为它不是notification_dropdown的一部分-它位于其上方,因此必须直接作为目标,或作为“#button”的后代或作为notification_dropdown的兄弟。因此,我应该在glyphicon上设置id并以该图标为目标?您可以-或者您可以使用“#button span”,但是那会得到glypicon和V形的-所以你可以这样说:首先。。。或者在glypiconDo上放置一个id/类,您在控制台中遇到任何错误吗?ajax响应是否正常?不,我只是没有收到任何css或任何东西…没有任何更改…我猜我应该将id设置为通知框(glyphicon本身,但这也不起作用)谢谢,但说真的,我不知道发生了什么,我没有收到任何错误或任何东西…不幸的是没有,它什么都没做…嗯…真的不知道我该做什么。。。也许我应该创建一个新图标,当有通知时显示出来。。。。