JQuery属性选择器:内部char的通配符

时间:2014-12-11 10:42:02

标签: jquery

我一直在互联网上搜索,但我无法找到我想要的东西。

我们说我有一些像

这样的输入
<input name="kpr-xx-yyyy-mm-dd" />
<input name="kpr-zz-yyyy-mm-dd" />
<input name="kpr-kk-yyyy-mm-dd" />

其中xxzzkk是一些数字ID。

我想选择名称为kpr-*-yyyy-mm-dd的所有输入
据我所知,没有一个&#34;通配符&#34;字符串内部字符的选择器。

我已经尝试了

$("input[name*=kpr][name*="+yyyy+"][name*="+mm+"][name*="+dd+"]");

也许我可以达到我正在搜索的内容,但我想限制可能的错误并仅搜索我需要的字符串(所以同样的顺序,在我的示例中没有考虑到)< / p>

有什么想法吗?

PS:我不太了解jQuery,也许解决方案非常简单,但我不知道但是,我确定的是www还没有多少关于...

1 个答案:

答案 0 :(得分:4)

starts with选择器与ends with选择器结合使用(结尾)需要是$='2012-12-12'之类的单个选择器,而不是3个单独的选择器,因此级联:

$("input[name^='kpr-'][name$='" + yyyy + "-" + mm + "-" + dd + "']");

我添加了内部单引号,因为您的选择器具有特殊字符(例如' - ')

JSFiddle: http://jsfiddle.net/TrueBlueAussie/r1xayf1t/