检查元素是否具有CSS类。如果没有添加它

时间:2017-03-30 14:44:10

标签: javascript jquery

如何将我的jQuery行转换为Javascript。我想检查这个元素是否有类。如果它没有CSS类,我想将它添加到元素中。这些线条在下面的星号中。

Jquery的

    var slides = document.querySelectorAll('#slides .slide');
    var currentSlide = 0;


  function goToSlide(n){

  //Remove showing from the current slide
    var thisSlide = slides[currentSlide];

    thisSlide.classList.remove("showing");

  //get position of next slide.
    currentSlide = (n+slides.length)%slides.length;

  //Add current to next slide
    var nextSlide = slides[currentSlide];

 //Check if nextSlide has showing class. If not, add it.
  **
   if (!($(nextSlide).hasClass('showing'))) {
           $(nextSlide).addClass('showing'); 
    }
  **

    }

2 个答案:

答案 0 :(得分:2)

您可以使用classList及其containsadd方法。

if(!nextSlide.classList.contains(classname)){
      nextSlide.classList.add(classname);
}

function addclass(){
  if(!document.getElementById('div1').classList.contains("new")){
      document.getElementById("div1").classList.add("new");
  }
  else{
      console.log("Already exist");
  }
}
.bg-r{
  width:50px;
  height:50px;
  border:1px solid #000;
}
.new{
  background-color:#f00;
}
<div id="div1" class="bg-r"></div>
<button onclick="addclass();">Add</button>

答案 1 :(得分:0)

检查此功能

function hasClass(element, cls) {
    return (' ' + element.className + ' ').indexOf(' ' + cls + ' ') > -1;
}

DEMO