检查元素是否具有类,是否将其添加到n个元素中-但动态地

时间:2019-06-11 13:23:49

标签: javascript

我想在产品缺货时向按钮添加类。 我有一个简单的Dim SHA512Hash = Regex.Match(str, SHA512virushash) 。当所选<select>产品之一缺货时,<option>被授予类别someother-element。 有没有一种方法,每次out-of-stock拥有类someother-element时就向按钮添加类或标记,并在没有时将其删除?

以下是指向简单codepen https://codepen.io/ivica-ha/pen/MMWzQZ的链接

我的代码存在问题,它仅在DOM准备就绪后才进行检查,但是更改将不止一次发生。

out-of-stock

2 个答案:

答案 0 :(得分:0)

为选择添加更改处理程序。 像这样的东西。

$("#pet-select").on('change', function(e) {
      //you can also check for the selected option here and do the DOM changes
      if($(".someother-element").hasClass("out-of-stock")) {
        //alert('Has class');
        $(".btn").addClass("myClass");
      };
 });

答案 1 :(得分:0)

$("select").on("change",function(){
  console.log($('select :selected').hasClass('out-of-stock'))
 if($('select :selected').hasClass('out-of-stock')){
       $("button").addClass("myclass")
}

  else{
    $("button").removeClass("myclass")
} 
})
button.myclass{
  background:red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label for="pet-select">Choose a pet:</label>

<select id="pet-select">
    <option value="">--Please choose an option--</option>
    <option value="dog">Dog</option>
    <option value="cat" class="out-of-stock">Cat</option>
    <option value="hamster">Hamster</option>
    <option value="parrot">Parrot</option>
    <option value="spider" class="out-of-stock">Spider</option>
    <option value="goldfish">Goldfish</option>
</select>
<button class="btn">Button text</button>

如果所选的选项具有此类,则

添加了class =“ out-of-stock”,以返回选项!