jQuery是否满足完全匹配类的条件

jQuery if condition for exactly matching classes

本文关键字:条件 是否 满足 jQuery      更新时间:2023-10-20

我有下面php echo语句中的代码。括号是空的,但可以向你保证,我放在里面修改CSS的语句是有效的——只有一个缺陷。

我希望它适用于类属性等于"缩放"或"缩放优先"的元素。不幸的是,它适用于所有具有"缩放"类的元素,包括"wooccommerce主图像缩放"。

我可以排除具有"wooccommerce主图像"类的元素,但我更喜欢一个更干净的解决方案,将我的代码应用于具有以下两个指定类属性的元素:

if ($(this).hasClass("zoom") || $(this).hasClass("zoom first")) {}

如果你想搜索只包含"zoom"类的元素,或者只包含"zoom"answers"first"的元素,也许你可以尝试以下方法:

var search = ["zoom", "zoom first"];
$.each(search, function(i, v) {
  var classes = v.split(' ');
  $('.' + classes.join('.'))
    .filter(function() {
      return $(this).attr('class').split(' ').length == classes.length;
    })
    // Do something here
    .css('background', 'yellow');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="zoom">zoom</div>
<div class="zoom foo">zoom foo</div>
<div class="first zoom">first zoom</div>
<div class="zoom first">zoom first</div>
<div class="zoom foo first">zoom foo first</div>
<div class="zoom first foo">zoom first foo</div>