Jquery查找具有以某个值开头的数据的元素

时间:2017-12-04 15:32:23

标签: javascript jquery

我正在寻找一个sintax来搜索以给定值开头的元素的内部数据,在它之后有或没有下划线。例如,如果给出一个类似StereoSmp<TE> operator* (const StereoSmp<TE>& a, remove_reference<TE>::type b) 的数字:

3

<span data-filter="3_1"></span> // I NEED TRUE <span data-filter="3"></span> // I NEED TRUE <span data-filter="33_1"></span> // I NEED FALSE <span data-filter="1_3"></span> // I NEED FALSE 不适用于3°示例。

小提琴示例:https://jsfiddle.net/fdphzogc/1/

当然我已经插入了一个像$(span[filter^="3"])这样的例子,但它可以是另一个数字更多的数字,如465_12,其中465是我正在寻找的

2 个答案:

答案 0 :(得分:0)

如果我是正确的,您希望<span>的所有data-filter都有3或者以3_开头

对于data-filter="3",您可以使用

$('span[data-filter="3"]') 

对于您可以使用的data-filter="3_ .... "

$('span[data-filter^="3_"]')

两者在一起:

$('span[data-filter="3"],span[data-filter^="3_"]')

在演示中:

span { display: block; }
span[data-filter="3"],
span[data-filter^="3_"] {
  color: red;
}
<span data-filter="3_1">3_1</span>
<span data-filter="3">3</span>
<span data-filter="33_1">33_1</span>
<span data-filter="1_3">1_3</span>

答案 1 :(得分:0)

我的建议是在你定义真值表后,你必须将它翻译成高级语言。

例如,如果我阅读你的帖子(没有代码),我知道你正在寻找以3开头的所有内容。

但如果我读了你的片段,我就知道你正在寻找#34; 3&#34;或者开始&#34; 3 _&#34;。 如果这最后一句是真的:

$('span[data-filter^="3_"], span[data-filter="3"]')