【问题标题】:How can I use jquery to get the value of a child of a child that is in an adjacent tag?如何使用 jquery 获取相邻标签中的孩子的孩子的值?
【发布时间】:2012-07-08 08:30:11
【问题描述】:

从一个特定的div 开始,我想使用jquery 来获取下一个div 块中input 标记的值(向下两层)。我有一个这样的 HTML 结构:

<div class="firstClass1" id="firstID1"> // suppose I start from this element
    <div class="secondClass1" id="secondID1">
        <input value="myValue1"/>
    </div>
</div>
<div class="firstClass2" id="firstID2">
    <div class="secondClass2" id="secondID2">
        <input value="myValue2"/>
    </div>
</div>
<div class="firstClass3" id="firstID3">
    <div class="secondClass3" id="secondID3">
        <input value="myValue3"/>
    </div>
</div>
...

也就是说,如果我从.firstClass1开始,我想从myValue2获取值。我曾尝试使用以下 jquery,但它不起作用:

var nextID = $('.div#firstID1').next().find('input').val();

var nextID = $('.div#firstID1').next().next().val();

【问题讨论】:

    标签: jquery children next


    【解决方案1】:

    这会有所帮助:http://jsfiddle.net/bQYZJ/

    你有额外的. 点以及idfirstID1 而不是firstID :) 休息我已经根据你的需要调整了它。

    希望对你有所帮助,

    代码

    var nextID = $('div#firstID1').next('div').find('input').val();
    

    【讨论】:

    • @Jashwant 你好,好久不见!希望事情在摇摆不定! :)
    【解决方案2】:

    你漏掉了一个引号,同时从.div#firstID1中删除dot

    var nextID = $('div#firstID').next().find('input').val();
    

    【讨论】:

    • @AjayMohite 您还应该从 div 中删除 .
    • 哇,我觉得自己像个白痴。我尝试了很多不同的方法来让它发挥作用。就是这样。谢谢你的眼睛比我好!
    【解决方案3】:

    .div 替换为div

    试试看:

    $('div[id^=firstID]').mouseenter(function(){
        var nextID = $(this).next().find('input').prop('value');
        alert( nextID ); // test it!
    });
    

    $('div[id^=firstID]') 表示“ID 以firstID 开头的任何 div”,
    这将允许您获取任何“事件”元素的“下一个 div 输入值”,因此您无需为任何 firstID[N] 元素重写代码。

    【讨论】:

      【解决方案4】:

      您可以使用,

      var nextID = $('div#firstID1 > div > input')
      

      var nextID = $('div#firstID1').children().children()
      

      var nextID = $('div#firstID1').children('div').children('input');
      

      但是(出于我不知道的原因),find 的工作速度比 children&gt; 方法快。

      【讨论】:

      • 是的,findchildren 快很奇怪。查看this answer 的一些有趣的观察结果。
      猜你喜欢
      • 1970-01-01
      • 2018-08-10
      • 1970-01-01
      • 2014-03-27
      • 2016-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-27
      相关资源
      最近更新 更多