jQuery - 选择以...开头和结尾的元素,但排除特定名称

3

我有一些在我的板子上生成的元素,它们的ID像这样 "test_***_fast"。星号是网站生成的随机数字。

问题在于,我想为除了test_1_fast之外的所有ID编写一个操作,因为这个ID是静态且重要的。

我知道我不能使用:

$('[id^=test][id$=_fast]')

因为它同样适用于test_1_fast,而下面的代码显然无法工作:D

 $('[id^=test][id$=_fast]' - '#test_1_fast')

那么我该怎样才能使它发挥作用呢?

在我的看法中,基于 ID 的模式匹配是不良的设计。请使用类。 - Barmar
ID是我唯一能使用的东西 - 我无法修改生成内容的代码。 - Ventricle
1个回答

2

使用:not()来避免特定的元素

$('[id^=test][id$=_fast]:not(#test_1_fast)').css('color', 'red')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


<span id="test_0_fast">a</span>
<span id="test_1_fast">a</span>
<span id="test_2_fast">a</span>


or not()

$('[id^=test][id$=_fast]').not('#test_1_fast').css('color', 'red')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>


<span id="test_0_fast">a</span>
<span id="test_1_fast">a</span>
<span id="test_2_fast">a</span>


@'Pranav C Balan'非常好,谢谢。我想使用not,但分号和点语法部分还没有掌握 :) - Ventricle
@Ventricle:很高兴能帮助你 :) - Pranav C Balan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接