jQuery kullanarak bir giriş nesnesi dizisi seçiyorum ve dizi öğelerinden birini seçtikten sonra birden çok yöntemi zincirlemeye çalıştığımda ilginç bir soruna giriyorum. Birisi bana bu davranışı neden aldığımı açıklayabilir mi? Ben .val()
çağrı sonra jQuery .first()
veya .last()
ve kullanma unsurlarından biri seçersenizNeden jQuery'yi kullanarak array.first'ten farklı bir nesne döndüren dizi [0] ve neden .val() kullanamıyorum?
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">
]
, ben "138"
beklenen değeri olsun.
var input = jQuery('.custom-size').first().find('input:hidden')[1]
returns =>
<input name="custom_order[custom_sizes_attributes][0][_destroy]" type="hidden" value="0">
Ancak bu nesne üzerinde .val()
arayamam: Ben dizide bir konum kullanmaya çalıştığınızda
, ben dizinin elemanını döndürebilir. Bunun yerine bu hata mesajını alıyorum:
TypeError: Object #<HTMLInputElement> has no method 'val'
bekar elemanı döndürmek için .slice(x,y)
kullanabilirsiniz, ancak bu oldukça saçma geliyor. Burada neyi özlüyorum.
bir jsfiddle birlikte koymak Sorunu gösterir, bu şekilde oynayabiliriz ve belki yardımcı olabiliriz. – michaelward82