我有一个input,要在检查时获取其值。它的值中有一个单引号。

当我运行JS时,我在控制台中收到此错误:


  未捕获的错误:语法错误,无法识别的表达式:.Oiseaux d'eau“




$('.group_oiseau').on('change', function() {
  /*var group_oiseau = $('input[type=checkbox][name=group_oiseau]:checked').attr('value');*/

  $("." + $(this).find('input').val()).each(function() {
    if ($(this).hasClass('hidden')) {
      $(this).removeClass('hidden');
      console.log($(this).hasClass('hidden'));
    } else {
      $(this).addClass('hidden');
      console.log($(this).hasClass('hidden'));
    }
  })
});

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label class="checkbox group_oiseau">
  <input type="checkbox"  class="grey checkbox" value="Oiseaux d'eau" name="group_oiseau[]" required>
  Oiseaux d'eau
  <div class="checkbox-cust"></div>
</label>

最佳答案

您可以只使用JQuery查找类型为inputs的所有checkbox,然后运行each()函数。



$('.group_oiseau').on('change', function() {
  /*var group_oiseau = $('input[type=checkbox][name=group_oiseau]:checked').attr('value');*/

$.each($('input[type=checkbox]'),function(){
    if ($(this).hasClass('hidden')) {
      $(this).removeClass('hidden');
      console.log($(this).hasClass('hidden'));
    } else {
      $(this).addClass('hidden');
      console.log($(this).hasClass('hidden'));
    }
  })
});

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label class="checkbox group_oiseau">
  <input type="checkbox"  class="grey checkbox" value="Oiseaux d'eau" name="group_oiseau[]" required>
  Oiseaux d'eau
  <div class="checkbox-cust"></div>
</label>

10-08 08:35