具有动态ID而不是其他元素的特定元素是相似的

时间:2014-09-24 14:54:11

标签: javascript jquery regex dynamic

我有一组动态构建并添加到页面的输入框。我可以控制放在元素上的ID,但它被一堆垃圾包裹着。例如,我为其指定了clientTest的ID,它将呈现j_id0:j_id2:theForm:clientTest_mod的ID。总共有7个输入框包含此Id,但包含不同的结尾。 ID的第一部分也是动态的,所以我不能硬编码。

一个例子,

<input type="hidden" name="j_id0:j_id2:theForm:clientTest_lkid" id="j_id0:j_id2:theForm:clientTest_lkid" value="000000000000000">
<input type="hidden" name="j_id0:j_id2:theForm:clientTest_lkold" id="j_id0:j_id2:theForm:clientTest_lkold" value="null">
<input type="hidden" name="j_id0:j_id2:theForm:clientTest_lktp" id="j_id0:j_id2:theForm:clientTest_lktp" value="001">
<input type="hidden" name="j_id0:j_id2:theForm:clientTest_lspf" id="j_id0:j_id2:theForm:clientTest_lspf" value="0">
<input type="hidden" name="j_id0:j_id2:theForm:clientTest_lspfsub" id="j_id0:j_id2:theForm:clientTest_lspfsub" value="0">
<input type="hidden" name="j_id0:j_id2:theForm:clientTest" id="j_id0:j_id2:theForm:clientTest" value="0">

我的代码允许我定位特定的框,

var lkid = elementId + "_lkid";

问题在于我不知道如何定位没有添加任何内容的输入框。只有clientTest的那个。如何在不抓住其他人的情况下瞄准它?

2 个答案:

答案 0 :(得分:3)

好吧,你可以用这个

var elem = $('input[name$=clientTest]');

以上内容仅针对name属性以clientTest

结尾的元素

答案 1 :(得分:0)

$.each($("input:hidden"), function (index, value) {
    if (value.id.match(/.*:[a-zA-Z]+$/)) {
        alert(value.id);
    }
});

这将定位任何<input type="hidden">元素,其id在最后一个&#34;之后仅包含字母(a-Z):&#34;

请在此处查看:jsFiddle