Javascript jQuery addClass添加了这个类,但我没有';在浏览器中看不到视觉变化

Javascript jQuery addClass添加了这个类,但我没有';在浏览器中看不到视觉变化,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我使用Angular 1.6和jQuery3.3.1来练习Angular。我的简单应用程序屏幕如下所示 在下面的事件处理程序片段中,我有一个简单的验证来检查正在添加的客户是否已经存在于系统中。如果有,我想做两件事: 在输入字段顶部以红色显示错误消息。如下图所示,这种情况发生得很好 通过将的背景更改为红色,突出显示输入字段下方列表中的现有客户记录 $scope.onBtnAddNewCustomerClicHandler=function(){ var customerId=$scope.cus

我使用Angular 1.6和jQuery3.3.1来练习Angular。我的简单应用程序屏幕如下所示

在下面的事件处理程序片段中,我有一个简单的验证来检查正在添加的客户是否已经存在于系统中。如果有,我想做两件事:

  • 在输入字段顶部以红色显示错误消息。如下图所示,这种情况发生得很好

  • 通过将
  • 的背景更改为红色,突出显示输入字段下方列表中的现有客户记录

    $scope.onBtnAddNewCustomerClicHandler=function(){ var customerId=$scope.customers.exists( $scope.newCustomer.name, $scope.newCustomer.city)

    })

  • 我的代码工作正常,并且做了它应该做的事情,但我没有看到任何视觉变化,表明
  • 背景已变为红色。但是,我可以将
  • 的类更改为
    backgroundRed
    ,如下图所示

    无论我是否使用:

    var listItem = angular.element(
              document.querySelector("#liCustomer_" + customerId));
    

    查找包含现有客户记录的listItem

    我的CSS如下所示:

    .backgroundRed {
        background-color: red;
    };
    

    尝试添加!在css中很重要,如下所示:

    .backgroundRed {
        background-color: red !important;
    };
    

    我经历过很多,根据我的经验,css样式的标签只在页面加载时应用。如果要高亮显示li标记,则必须更改“样式”属性

    在错误消息中看不到这一点的原因是,元素在显示之前是隐藏的,并且始终为红色

    试一试


    即使加上这个,也没有明显的变化。事实上我的CSS比我报告的要多得多,但我已经将其精简到了最低限度,以专注于这个问题。这与我多年来在页面加载后很长时间内使用jquery在事件侦听器中添加和删除类的做法不符。
    .backgroundRed {
        background-color: red;
    };
    
    .backgroundRed {
        background-color: red !important;
    };
    
    listItem.style += "background-color: red";