小编典典

在单个类名上使用“开始于”选择器

all

如果我有以下情况:

<div class="apple-monkey"></div>
<div class="apple-horse"></div>
<div class="cow-apple-brick"></div>

我可以使用以下选择器来查找前两个 DIV:

$("div[class^='apple-']")

但是,如果我有这个:

<div class="some-other-class apple-monkey"></div>
<div class="apple-horse"></div>
<div class="cow-apple-brick"></div>

它只会找到第二个 DIV,因为第一个 div 的类作为字符串返回(我认为)并且实际上并不是以“apple-”开头,而是以“some-”开头

一种解决方法是不使用开头,而是包含:

$("div[class*='apple-']")

问题是它也会在我的示例中选择第三个 DIV。

问题:通过 jQuery,在单个类名上使用谓词选择器而不是将整个类属性作为字符串使用的正确方法是什么?是否只是获取
CLASS,然后将其拆分为一个数组,然后使用正则表达式遍历每个单独的数组?还是有更优雅/更简洁的解决方案?


阅读 191

收藏
2022-08-08

共1个答案

小编典典

以“apple-”开头的类加上包含“apple-”的类

$("div[class^='apple-'],div[class*=' apple-']")
2022-08-08