将类可见添加到grid-item但不包含那些具有类new

时间:2016-01-03 05:26:56

标签: jquery

我尝试向.grid-items添加一个可见的课程,但不是那些hasClass('new')。 我写了这段代码,但似乎没有用。 这有什么问题?

html代码:

<div class="col-md-6 grid-item new">//some code here</div>
<div class="col-md-6 grid-item new">//some code here</div>
<div class="col-md-6 grid-item new">//some code here</div>
<div class="col-md-6 grid-item new">//some code here</div>
<div class="col-md-6 grid-item psd">//some code here</div>
<div class="col-md-6 grid-item psd">//some code here</div>
<div class="col-md-6 grid-item wordpress">//some code here</div>
<div class="col-md-6 grid-item joomla">//some code here</div>

js code:

var visibleTrue = $('.grid-item').hasClass('new');
if(visibleTrue){
  $('.grid-item').removeClass('visible');
}
else{
  $('.grid-item').addClass('visible');
}

3 个答案:

答案 0 :(得分:0)

我不确定你想做什么。 无论如何,我想你的DOM中有很多.grid-item元素,当找到一个带有类&#34; new&#34;的.grid-item时,var visibleTrue变为true。 此时,visibleTrue仍然正确,您的代码对其他div不起作用。

我认为你想循环所有的元素来检查他们是否有新的类,以防添加或删除&#34;可见&#34;类。

试试这个:

$(document).ready(function(){
    $( ".grid-item" ).each(function() {
      if(!$(this).hasClass('new')){
        $(this).addClass('visible');
      }
    });
});

在这里你可以找到.each reference https://api.jquery.com/each/

答案 1 :(得分:0)

在类for(Entry<String, HashMap> entry : library.entrySet()) { String key = entry.getKey(); Boolean value = entry.getValue(); if (value) { System.out.println(key); } } 所在的地方添加类,但不是.grid-item

.new

Fiddle

答案 2 :(得分:0)

试试这个。

$('.grid-item').each(function(){
   if(!$(this).hasClass('new')){
        $(this).addClass('visible');
   }

});

Fiddle Link