美好的一天。我使用搜索但没有找到我想要的答案,我认为这是一个常见的问题。
有没有解决办法通过jQuery获取第n个元素的值?
这是一个简单的例子:
想象一下,我们有n个相同类的输入。获得第n个值的最简单方法,因为我认为$(".some_class").get(n-th).val()
是最简单的方法。但是当我们使用get()
时,它会返回
对象#HTMLInputElement
因此在使用val()
后,我们收到错误:
未捕获TypeError:对象#HTMLInputElement没有方法'val'。
在这种情况下,是否有任何解决方案如何仅使用jQuery方法?
答案 0 :(得分:2)
答案 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();