JQuery选择由2个特定单词组成的类名

时间:2018-02-16 16:28:17

标签: javascript jquery html jquery-selectors

有没有办法根据2个单词

选择班级名称

例如这5个类

<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>

我想选择由猫,狗

这两个词组成的班级

只有第一个将受影响

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

然后仅对第一个应用更改,因为它们中的三个有单词 所以它会选择这3个

可以使用jquery ??

我找到了一种方法来选择以某个单词开头的类,但我想要在类名

中的任何地方
$('[class="catsanddogs"]').html('test');

但它只匹配第一个!

我知道jquery有(:第一个)但找到与这两个名字匹配的问题

2 个答案:

答案 0 :(得分:2)

  

我想选择由猫,狗

这两个词组成的班级

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

&#13;
&#13;
$(document).ready(function(){
  $('[class*=cats][class*=dogs]').addClass('match');
});
&#13;
.match{
  background-color: red;
}
&#13;
<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>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

就像css选择器一样,您可以选择一个包含两个类的元素:

console.log($('[class*="cats"][class*="dogs"]'));

或者如果你真的想要两者的任何组合。

&#13;
&#13;
<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>
&#13;
{{1}}
&#13;
&#13;
&#13;