Children of Many Parents jQuery Selector

可紊 提交于 2019-12-24 22:22:45

问题


I am trying to select every first child of any parent with the class .Payment

Sample HTML :

<div class='payment'>
  <input id="payments_0_:date_paid" name="payments[0][:date_paid]" type="text" />
  <br>
  <input id="payments_0_:amount_paid" name="payments[0][:amount_paid]" type="text" />
</div>
<div class='payment'>
  <input id="payments_1_:date_paid" name="payments[0][:date_paid]" type="text" />
  <br>
  <input id="payments_1_:amount_paid" name="payments[0][:amount_paid]" type="text" />
</div>
<div class='payment'>
  <input id="payments_2_:date_paid" name="payments[0][:date_paid]" type="text" />
  <br>
  <input id="payments_2_:amount_paid" name="payments[0][:amount_paid]" type="text" />
</div>

How can I iterate through each .payment and validate whether the first child in each is under a certain quality?

This is my attempt :

$.each($(".payment"), function(key, value) { 
  alert( $("value input:first").val() ); 
});

But the trouble I am having here is using the var value in getting that attribute value()

Any ideas?


回答1:


Since the inputs in question are a first child, you can target them in the original selector using the :first-child selector(docs) , then use the native value property to get its value:

$('.payment > input:first-child').each(function() {
    alert(this.value);
});

It may be worthwhile to reduce them to a set of those that do not (or do) meet validation using the filter()(docs) method or the not()(docs) method.




回答2:


Instead of using $.each(), use .each() on the jQuery selection instead so you get access to $(this):

$('.payment').each(function(key) {
    alert($(this).find('input:first').val());
});



回答3:


Try using $("input:first", value).val()



来源:https://stackoverflow.com/questions/4936127/children-of-many-parents-jquery-selector

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!