我有一堆名称类似于“comp [1] .Field”或“comp [3] .AnotherField”的元素,其中索引(1或3)发生了变化。我正在尝试从名称中提取索引。
现在我正在使用:
var index = $(":input:last").attr("name").match(/\[(\d+)\]/)[1];
但我觉得这不是最好的方法。
有什么建议吗?
由于
答案 0 :(得分:2)
你所拥有的实际上是一个非常好的方法,但你应该添加一些检查来确保match()实际上返回一个数组(意味着找到了字符串)而不是null,否则你将得到一个类型错误。
示例:
var index = $(":input:last").attr("name").match(/\[(\d+)\]/);
if (match) { index = match[1]; }
else { /* no match */ }