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

Javascript 使用名称jquery通过索引获取id值,javascript,jquery,html,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"/> 我的答案是通过索引访问jQuery结果对象中的元素。您可以使用其他答案中指示的选择器 但是,您可以使用而不是索引 var id = $

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"/>

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

但是,您可以使用而不是
索引

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

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

第二种方法是首选路由,因为它意味着您永远不会离开
jQuery
result对象,因此可以在一条语句中链接其他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.

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

var getVal = $('[name="myText"]:first').attr('id'); // first id
如果需要其他元素,可以使用
eq
并在集合中选择从零开始的元素

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

jQuery像数组一样保存集合中的DOM元素,因此您可以使用indexes操作符(
[]
)获取元素,或者获取用
:eq(n)
`.eq(n)包装所需元素的jQuery对象`

<>你应该提到你认为什么是代码>索引(1)<代码>第一个或第二个:

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


“他想要第二种元素,而不是第一种元素。”邓斯莫雷布。你怎么知道呢?@dunsmoreb可能是这样,但由于他也不正确地使用了
索引
,因此认为他也使用了基于1的索引也不算过分。我已经澄清了以防万一。
get
返回一个DOM元素,而不是jQuery对象。。。您将得到错误:
TypeError:objecta没有方法“attr”
此答案不正确。
.get()
函数返回实际的DOM元素,因此不能对其使用jQuery
.attr()
函数。你只会得到一个语法错误。对我来说很好。看我所附的小提琴。索引(1)的意思很明显second@ShahidGhafoor. 这不是很明显,css选择器使用1基索引。。。“请注意,由于JavaScript数组使用基于0的索引,这些选择器反映了这一事实。这就是为什么$('.myclass:eq(1)')选择文档中具有类myclass的第二个元素,而不是第一个。相反,:n子(n)使用基于1的索引来符合CSS规范。”亲爱的,这是JavaScript(jquery)代码。表示基于0的索引;-)。。开玩笑@gdoro您输入的是
vat
而不是
var
。最好将标记名添加到选择器中。
$('input[name="myText"]:eq(1)').attr('id')
$('input[name="myText"]:eq(0)').attr('id') // First
$('input[name="myText"]:eq(1)').attr('id') // Second
$('input[name="myText"]')[0].id // First