如何通过Jquery按索引名访问元素?

时间:2010-01-19 10:58:00

标签: javascript jquery forms

我有几个INPUT:

<input type="text" name="entry[1]" value="aaa" id="firstEntry" />
<input type="text" name="entry[2]" value="bbb" id="secondEntry" />
<input type="text" name="entry[3]" value="ccc" id="thirdEntry" />

当我知道元素id是“secondEntry”时,如何得到“2”?

var name = $("#secondEntry").attr('name'); // name = "entry[2]"

但如何获得索引2? 我只需知道索引(2),而不是整个名称(条目[2])。

5 个答案:

答案 0 :(得分:5)

这个名字只是一个字符串,你必须用字符串操作完成剩下的工作:

var name = $("#secondEntry").attr('name'); // name = "entry[2]"
name = name.substring(name.indexOf('[')+1); // name = "2]"

// if you want an integer
name = parseInt(name, 10); // name = 2

// if you want a string representation
name = name.substring(0, name.indexOf(']'));  // name = "2"

答案 1 :(得分:1)

如果它始终采用该格式,即entry [x],则可以使用正则表达式;

var elename = $("#secondEntry").attr('name');
var i = elename.match("entry\\[([0-9])+\\]");
var ind = i[1];

答案 2 :(得分:1)

var re = /entry\[(\d{1})\]/;
var index = re.exec(string);

答案 3 :(得分:0)

你可以使用regular expressions来完成这个技巧。

答案 4 :(得分:0)

var name  = $("#secondEntry").attr('name');
var index = name.substring( 6, name.length - 1 );