【问题标题】:how to move up to find element?如何向上移动找到元素?
【发布时间】:2012-10-03 05:03:20
【问题描述】:
<form method='post'>
<input type='text' name='A'>
<input type='text' name='B' readonly>
<input type='text' name='C' class='CCC'>
<select name='D'><option value=''>Select</option></select>
<input type='text' name='E' class='first'>
<input type='text' name='F' class='first'>
<button type='submit' name='BTN'>click</button>
</form>

如何使用 jquery 来查找上面的不同元素?到目前为止我只知道 .prev() 但有时当我使用很多 .prev() 爬上去时它会返回给我 NULL/object。

有什么好的学习方法吗?!

对不起,让我在这里更详细地说明我想学习的内容。

1)。当点击按钮时,我从 A 获得价值的方式 $(this).prev().prev().prev().prev().prev().prev().val() 应该有更好的办法吧!

2)。如何找到前一个只读元素?

3)。如何从具有“CCC”类的前一个元素中查找或获取值?

4)。如何找到或获得具有相同“第一”类的不同值?我知道有类似 :first 或 second 但我不断收到错误代码,当我写类似 $("input[class='first']:first").val() / $("input[class=' first']:second").val()

【问题讨论】:

  • 如果现在有前一个元素,它将返回 null
  • 我不确定,abhay kumar,但如果我使用大量 .prev() 或 .next() 有时它会给我 NULL,有时它会给我 object 对象

标签: jquery


【解决方案1】:

你可以去form元素,找到里面的任意字段,例如:

$(function(){

  $('button').click(function(){

    var c = $(this).closest('form').find('[name=C]');
    alert(c.val());

  });

});

【讨论】:

    【解决方案2】:

    有很多方法可以找到一个元素(.siblings().find().children().prev().next(),...)

    例如下面的代码返回与 $('input.A') 处于同一级别的 CCC 类的元素

    $('input.A').siblings('CCC');
    

    查看此链接可能会有所帮助: http://api.jquery.com/category/traversing/tree-traversal/

    【讨论】:

      【解决方案3】:

      如果您的目标是查找表单元素,试试这个

      $(document).ready(function(){
          $("#someform").find(':input').each(function() {
             alert($(this).attr('name'));
      
           });
       });
      

      工作demo

      【讨论】:

        猜你喜欢
        • 2021-11-29
        • 1970-01-01
        • 2012-06-01
        • 1970-01-01
        • 2012-08-02
        • 1970-01-01
        • 2011-11-01
        • 1970-01-01
        • 2022-01-02
        相关资源
        最近更新 更多