javascript - 在 Jquery 中获取匹配的类

标签 javascript jquery html

我的 HTML 中有以下 div:

<div id = "foo" class = "bar barbar foobar"></div>

我使用此代码来选择 div:

$('.foo, .barfoo')

是否可以只获取所选类(class)的匹配类(class)?例如,如果我的 HTML 中有一个 barfoo 类,它将返回 barfoo 类,或者如果它存在,它将返回 foo 类有 foo 类。

最佳答案

用逗号分隔选择器,然后 .find 哪个 .matches 是您要迭代的元素:

const selector = '.foo, .barfoo';
const selectors = selector.split(', ');
$(selector).each(function() {
  console.log(
    selectors.find(sel => this.matches(sel))
  );
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id = "foo" class = "bar barbar barfoo"></div>
<div class = "foo"></div>

如果要删除 . 部分,请使用 .slice 将其关闭:

const selector = '.foo, .barfoo';
const selectors = selector.split(', ');
$(selector).each(function() {
  console.log(
    selectors.find(sel => this.matches(sel)).slice(1)
  );
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id = "foo" class = "bar barbar barfoo"></div>
<div class = "foo"></div>

关于javascript - 在 Jquery 中获取匹配的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59700800/

相关文章:

javascript - 难道无法获取动态生成的点击表吗?

javascript - 将滚动条添加到 div 而不是滚动整个页面

html - 登录区域的内联宽度,覆盖 CSS 中的默认值

javascript - Facebook 使用收件人数组向多个 friend 发送对话框

jquery - 我只想在无限轮播中一次滚动一个 Logo

javascript - 如何制作可折叠的评论框(第二部分)

JQuery 疑难解答 : I am trying to make my div reverse . slipup()

javascript - 用对象url设置图像的src在 Electron 中不起作用

javascript - 如何安装和使用mongodb与node js?

javascript - a = {prop : a} vs a. prop = a : why is the first not a circular data structure?