jQuery选择器帮助 - 如何查找ID以特定字符开头和结尾的元素

时间:2013-03-20 17:16:52

标签: jquery jquery-selectors

我有一个动态创建的页面。它可以有许多不同的单选按钮,ID如下:

<input type="radio" id="cc-radio-opt-0" />
<input type="radio" id="cc-radio-opt-1" />
<input type="radio" id="gc-radio-opt-0" />
<input type="radio" id="gc-radio-opt-1" />

为了编写更改函数,我正在做这样的事情:

$('[id^=cc-radio-opt-]').live("change", function() {
    var idx = $(this).attr('id').split('-').pop(); 
});

这很有效。但是现在,在改变函数中,我需要隐藏一堆其他相关字段。它们的名字如下:

<input type="text" id="cc-number-0" />
<input type="text" id="cc-month-0" />
<input type="text" id="gc-number-0" />
<input type="text" id="gc-month-0" />
<input type="text" id="cc-number-1" />
<input type="text" id="cc-month-1" />
<input type="text" id="gc-number-1" />
<input type="text" id="gc-month-1" />

我需要能够抓取ID以“cc”开头的所有字段,并以与单击的单选按钮相同的数字结尾(由idx变量确定。我知道我可以获得所有以“cc”开头的字段:

$('[id^=cc-]');

但我怎么能表明他们需要以idx为止结束?换句话说,如果点击了cc-radio-opt-1电台,我怎么才能获得cc-number-1cc-month-1

2 个答案:

答案 0 :(得分:14)

嗯,你几乎就在那里...... $('[id^=cc-][id$=1]')

样本:http://jsfiddle.net/pavloschris/nr3ad/

答案 1 :(得分:3)

使用“ends with”选择器过滤选择器。

http://api.jquery.com/attribute-ends-with-selector/

$('[id^="cc-"]').filter('[id$="idx"');

并确保包含引号。