我有这个代码工作正常,但我想知道是否可以使用jquery更快地从输入名称属性获取索引
<input name="inp[myindex]" value="bla" />
和jquery
var $idx = $this.attr('name');
var $split = $idx.split('[');
$idx = $split[1];
$idx = $idx.replace(']', '');
提前致谢!
答案 0 :(得分:5)
在两个边界之间提取字符串的简明成语是split-pop-shift:
var subname= this.name.split('[').pop().split(']').shift();
或总是有正则表达式方法,虽然很丑,但仍然较短:
var subname= this.name.match(/\[([^[]*)\]/)[1];
jQuery专注于DOM操作,并没有自己的字符串处理功能。对索引字段名称使用方括号的方法是PHP的怪癖,而不是HTML固有的任何东西,它只将名称视为普通的旧字符串。
答案 1 :(得分:0)
还有其他方法可以做到这一点,但jquery没有。只是其他变种的子串,替换等
答案 2 :(得分:-2)
$('input[name="<name-here>"]')