使用名称jquery通过索引获取id值

时间:2012-06-09 20:30:49

标签: javascript jquery html

HTML

<input id="1" name="myText" type="text" value="20"/>
<input id="2" name="myText" type="text" value="30"/>
<input id="3" name="myText" type="text" value="40"/>

如何使用名称index获取ID值?

以下代码段不起作用

var getVal = $('[name="myText"]').index(1);

3 个答案:

答案 0 :(得分:10)

jQuery将DOM元素保存在集合中,就像数组一样,因此您可以使用索引运算符([])来获取元素,或者获取用:eq(n)包装所需元素的jQuery对象。 .EQ(N)'

$('input[name="myText"]:eq(1)').attr('id')

你应该提到你认为index(1)的第一个或第二个:

$('input[name="myText"]:eq(0)').attr('id') // First
$('input[name="myText"]:eq(1)').attr('id') // Second

或者:

$('input[name="myText"]')[0].id // First

答案 1 :(得分:4)

如果您想要第一个值,可以过滤并使用attr方法获取id属性的值。

var getVal = $('[name="myText"]:first').attr('id'); // first id

如果您想要其他元素,可以使用eq并在集合中选择从零开始的元素。

var getVal = $('[name="myText"]:eq(1)').attr('id'); // second id

答案 2 :(得分:2)

我的回答是指通过索引访问jQuery结果对象中的元素。您可以使用其他答案中指示的:eq等选择器。

但是,您可以使用.get(1)代替index

var id = $('[name="myText"]').get(1).id;

相当于

var id = $('[name="myText"]:eq(1)').attr('id');

示例:http://jsfiddle.net/HackedByChinese/UmKw6/1/

第二种方法是首选路由,因为它意味着你永远不会离开jQuery结果对象,因此可以在一个语句中链接其他jQuery调用。

var id = $('[name="myText"]:eq(1)').css('color', 'red').attr('id'); // example of chaining jQuery methods. sets the text color to red and then returns the id.