【问题标题】:JQuery select class name that consists of 2 specific wordsJQuery 选择由 2 个特定单词组成的类名
【发布时间】:2018-02-16 16:28:17
【问题描述】:

有没有办法根据 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 有 (:first ) 但是找到匹配这两个名称的问题

【问题讨论】:

  • 您的意思是字面上包含“cats”和“dogs”的值的任意组合吗?
  • @Taplar 包含这些单词的类名,它可能被连接或分隔名称像这样“catsanddogs”被连接和像这样“猫和狗”分隔
  • “狗和猫”呢?
  • 请注意类名有狗,猫 => "catsanddogs" 我想要一种方法来选择具有我指定的 2 个单词的类。猫和狗只是一个例子
  • 我在问订单是否重要。是先选先养狗,还是先选先养猫

标签: javascript jquery html jquery-selectors


【解决方案1】:

我想选择包含这两个词猫,狗的类

您可以使用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>

【讨论】:

  • 哦,不错,我刚刚添加了一个:first to work like I want like this "[class*=cats][class*=dogs]:first" 当你得到答案时,它看起来很容易。谢谢你^^
【解决方案2】:

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

$('.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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 2020-01-25
    • 2012-01-25
    • 1970-01-01
    • 2021-08-13
    • 1970-01-01
    相关资源
    最近更新 更多