1
<input type="text" name="test[ooo][]">
<input type="text" name="test[bbb][]">
<input type="text" name="test[ccc][]">
<input type="text" name="test[vvv][]">
​
$('input').each(function(){
  console.log($(this).attr('name').index('bbb'));
})​

为什么这不起作用?如何从输入中检查属性名称的索引?

http://jsfiddle.net/UA2BN/

我不必使用 index()。我可以使用其他功能,但我该如何检查呢?

4

3 回答 3

2

我想你正在寻找indexOf.

console.log($(this).attr('name').indexOf('bbb'));

-1

5

-1

-1

http://jsfiddle.net/5uVd9/

于 2012-09-16T00:07:28.130 回答
1

这不起作用,因为 jQuery 选择所有输入元素,并遍历它们,将名称解释为名称字符串。在 jQuery 看来,这根本不是数组。

当然,您始终可以通过选择名称中的子字符串来选择特定输入:

console.log( $('input[name*="[bbb]"]') );​

这将选择一个input名称包含 substring 的名称[bbb]

于 2012-09-16T00:08:28.100 回答
1

试试这个代码:

inputs= document.getElementsByTagName("input");
for(i=0;i<inputs.length;i++)
   alert(i);​
于 2012-09-16T00:08:33.873 回答