JQuery:查找与给定模式匹配的页面中的所有id

时间:2017-11-04 19:09:03

标签: javascript jquery regex

我有一组html元素(动态元素),其中一个元素是模板..现在我想找到页面中除模板之外的所有id

前:

<div id="text[1]"></div>
<div id="text[2]"></div>
<div id="text[XXX]"></div>

下面的Jquery函数会给我所有三个元素,但是我想要div元素的id&#39; s [1]和test [2]而不是test [XXX] ..我们怎样才能在这里使用正则表达式?

$("div[id^='test']")

4 个答案:

答案 0 :(得分:2)

添加not()过滤器

$("div[id^='text']").not('[id*=XXX]').css('color','red');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="text[1]">text[1]</div>
<div id="text[2]">text[2]</div>
<div id="text[XXX]">text[XXX]</div>

答案 1 :(得分:0)

您可能不需要jQuery

&#13;
&#13;
[].slice.call(document.querySelectorAll('div'))
  .filter(el => el.id.match(/your regex here/))
  .forEach(el => console.log(el.id));
&#13;
<div id="text[1]"></div>
<div id="text[2]"></div>
<div id="text[XXX]"></div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

这将返回您需要的所有Div。

&#13;
&#13;
$('div')
    .filter(function() {
        return this.id.match('text\\[.\\]');
    });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<div id="text[1]"></div>
<div id="text[2]"></div>
<div id="text[XXX]"></div>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

感谢大家的贡献..以下代码对我有用..

$("div[id^='text']:not([id$='XXX\]'");