【问题标题】:Children of Many Parents jQuery Selector许多父母的孩子jQuery选择器
【发布时间】:2011-06-23 14:17:36
【问题描述】:

我正在尝试选择具有 .Payment 类的任何父母的每个第一个孩子

示例 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>

如何遍历每个 .payment 并验证每个 .payment 中的第一个孩子是否在特定质量之下?

这是我的尝试:

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

但我在这里遇到的麻烦是使用 var value 来获取该属性 value()

有什么想法吗?

【问题讨论】:

    标签: jquery validation jquery-selectors iterator


    【解决方案1】:

    由于有问题的输入是第一个孩子,您可以使用 :first-child selector(docs) 在原始选择器中定位它们,然后使用原生 value 属性获取其值:

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

    使用filter()(docs) 方法或not()(docs) 方法将它们减少为一组不满足(或确实)满足验证的一组可能是值得的。

    【讨论】:

      【解决方案2】:

      不要使用$.each(),而是在jQuery选择上使用.each(),这样你就可以访问$(this):

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

      【讨论】:

        【解决方案3】:

        尝试使用$("input:first", value).val()

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-04-27
          • 2014-05-15
          • 1970-01-01
          • 1970-01-01
          • 2011-07-14
          • 1970-01-01
          相关资源
          最近更新 更多