我正在使用 jQuery 选择一组输入对象,当我在选择一个数组元素后尝试将多个方法链接在一起时遇到了一个有趣的问题。谁能向我解释为什么我会出现这种行为?
jQuery('.custom-size').first().find('input:hidden')
returns =>
[<input id="custom_order_custom_sizes_attributes_0_size_id" name="custom_order[custom_sizes_attributes][0][size_id]" type="hidden" value="138">
,
<input name="custom_order[custom_sizes_attributes][0][_destroy]" type="hidden" value="0">
]
.first()
如果我使用 jQuery或选择其中一个元素.last()
然后调用.val()
,我会得到"138"
.
当我尝试使用数组中的某个位置时,我可以返回数组的元素:
var input = jQuery('.custom-size').first().find('input:hidden')[1]
returns =>
<input name="custom_order[custom_sizes_attributes][0][_destroy]" type="hidden" value="0">
但是我不能调用.val()
这个对象。相反,我收到此错误消息:
TypeError: Object #<HTMLInputElement> has no method 'val'
我可以.slice(x,y)
用来返回单个元素,但这似乎很愚蠢。我在这里想念什么。