jQuery,选择具有完全类匹配的元素

时间:2018-05-04 17:45:59

标签: jquery jquery-selectors

是否可以选择完全匹配的类元素,如:

<i class="icon user"></i>
<i class="icon user add"></i>
<i class="icon user remove"></i>

所以如果我想要定位

$("i.icon.user");

但问题是所有三个元素都被选中,因为它们都有共同的类“icon”和“user”

我不能在这种情况下使用:not()来排除类,因为这将是一个动态选择,我不会提前知道。

2 个答案:

答案 0 :(得分:1)

如果要使用选择器选择可以在jQuery中执行的特定类。

如果你想选择添加类,请使用:

$('i.icon.user.add').text();

这将根据您的要求为您提供您想要的东西

 var add = $('i.icon.user.add').text()
 alert(add)

JSfiddle就在这里!

答案 1 :(得分:0)

我强烈建议你给你想要定位另一个类的元素。

<i class="icon user theUser"></i>

或者某种东西并且针对额外的类。这有很多原因。首先,为了做一个完全匹配,你将不得不做出一些假设。

1)潜在的基于位置的:您可以检查该类是否与“icon user”完全匹配,但是如果有类型被翻转的情况下,它将无法找到它。的脆弱

2)类的数量:你可以检查元素只有两个类,但是如果以后某个案例中添加了第三个类,那么这也会破坏。的脆弱

只需在此元素中添加第三个类以将其与其他元素区分开来,就可以避免完全过滤元素,并且只需要定位所需的单个元素。