JQuery select class 由 2 个特定单词组成的名称

JQuery select class name that consists of 2 specific words

有没有办法 select class 根据 2 个单词命名

例如这 5 classes

<div class="catsanddogs">1</div>
 <div class="cats and dogs">2</div>
 <div class="anddogs">3</div>
 <div class="catand">4</div>
 <div class="catsanddogs">5</div>

我想select由猫、狗这2个词组成的class

而且只有第一个会受到影响

 <div class="catsanddogs">1</div>
 <div class="cats and dogs">2</div>
 <div class="catsanddogs">5</div>

然后将更改应用于第一个,因为他们三个都有单词 所以它将 select 这 3

是否可以使用 jquery ??

我找到了 select class 的方法,它以某个单词开头,但我想要 class 名称中的任何地方

$('[class="catsanddogs"]').html('test');

但它只匹配第一个!

我知道 jquery 有 (:first ) 但是找到与这 2 个名字相匹配的问题

就像 css select 一样,您可以 select 具有两个 类 的元素:

$('.class1.class2')

或者如果您真的想要两者的任意组合。

console.log($('[class*="cats"][class*="dogs"]'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="catsanddogs">1</div>
<div class="cats and dogs">2</div>
<div class="anddogs">3</div>
<div class="catand">4</div>
<div class="catsanddogs">5</div>

I want to select the class that consists of these 2 words cats, dogs

您可以使用 contains *= 选择器。

$(document).ready(function(){
  $('[class*=cats][class*=dogs]').addClass('match');
});
.match{
  background-color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="catsanddogs">catsanddogs</div>
<div class="cats and dogs">cats and dogs</div>
<div class="anddogs">anddogs</div>
<div class="catand">catand</div>
<div class="catsanddogs">catsanddogs</div>