jQuery获取第n个元素的值

时间:2013-08-27 15:21:43

标签: jquery

美好的一天。我使用搜索但没有找到我想要的答案,我认为这是一个常见的问题。

有没有解决办法通过jQuery获取第n个元素的值?

这是一个简单的例子: 想象一下,我们有n个相同类的输入。获得第n个值的最简单方法,因为我认为$(".some_class").get(n-th).val()是最简单的方法。但是当我们使用get()时,它会返回

  

对象#HTMLInputElement

因此在使用val()后,我们收到错误:

  

未捕获TypeError:对象#HTMLInputElement没有方法'val'。

在这种情况下,是否有任何解决方案如何仅使用jQuery方法?

6 个答案:

答案 0 :(得分:2)

改为使用eq

$(".some_class").eq(n-th).val()

eq从您在集合中指定的元素构造一个新的jQuery对象。

答案 1 :(得分:2)

您将获得使用第n个子元素的第n个元素的列表,因此在其中一个元素上使用val

$(".some_class input:nth-child(2)").eq(0).val()
  

:nth-​​child(n)伪类很容易与:eq(n)混淆,甚至   虽然这两者可以导致显着不同的匹配元素。   随着:n-child(n),所有孩子都被计算在内,无论他们是什么   是,并且只有在匹配时才选择指定的元素   选择器附加到伪类。使用:eq(n)仅选择器   附属于伪类计算,不限于儿童   选择任何其他元素,并选择第(n + 1)个(n为0)   reference

如果你只想在类.some_class中获得第n个输入,你可以简单地使用eq()

$(".some_class").eq(0).val()

答案 2 :(得分:1)

您可以将eq与jQuery一起使用

$( '选择')。当量( '编号')

答案 3 :(得分:1)

$("element:nth-child(1)").val();
$("element:nth(0)").val();
$("element:eq(0)").val();

答案 4 :(得分:1)

在一行中使用代码:

$('container').eq('n');

答案 5 :(得分:0)

jQuery()。get()方法返回实际的HTML元素,而不是jQuery对象(因此它没有.val()方法)。您需要使用.value,或者您需要使用[]。

来检索索引

E.G。

 $(".some_class").get(n-th).value;

OR

 $(".some_class")[n-th].val();