在特定条件下将类添加到div

时间:2016-03-30 09:23:29

标签: javascript jquery

当某个条件为真时,我想在div中添加一个类。我的代码如下:

$('.addressStatus').each(function(index, value){
    var el = 0;
    if($(this).data('status') == true){
         el =  $(this).data('param1');
         console.log(el);
         var id = document.getElementById('statusID'+el);
         id.classList.add('inactiveAddrsColor');                
    }
});

2 个答案:

答案 0 :(得分:0)

您有一些语法问题,请使用此代码

$('statusID'+el).addClass('inactiveAddrsColor');

你几乎用这个$('#statusID'+el)做对了,但应该是这个 <div data-status = "#{addr.inactiveStatus}" class="addressStatus" data-param1 = "#{addr.id}" id="addsStatusID"> <div id="statusID#{addr.id}" ><div>........</div> </div> </div> ;

编辑1:在您提到您拥有的HTML

之后
addr.id

如果test == statusID#test,则您的div ID为data-param1。同时你的 父div的#test将为'#statusID'+el

所以做#statusID#test将等于$('#statusID#test'),然后我们执行此操作#,这意味着具有2个id的元素是完全错误的。尝试将_替换为其他特殊字符(可能是ERROR: column warehouses.company does not exist )。它必须正常工作。

答案 1 :(得分:0)

这样做:

ContactsContract.CommonDataKinds.Phone.ACCOUNT_TYPE_AND_DATA_SET
$(function() {
  $('.addressStatus').each(function(index, value) {
    if ($(this).data('status') == true) {
      var id = '#statusID' + $(this).data('param1');
      $(id).addClass('inactiveAddrsColor');
    }
  });
});
.inactiveAddrsColor { color: #bbb; }