2

从一个特定的开始,div我想使用 jquery 来获取input下一个块中标签的值div(向下两层)。我有一个这样的 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();
4

4 回答 4

3

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

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

希望这有帮助,

代码

var nextID = $('div#firstID1').next('div').find('input').val();
于 2012-07-08T21:06:33.897 回答
1

你错过了一个引号,也删除dotfrom .div#firstID1

var nextID = $('div#firstID').next().find('input').val();
于 2012-07-08T20:56:40.540 回答
1

将 替换.divdiv

只需尝试:

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

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

于 2012-07-08T20:57:19.747 回答
0

你也可以使用,

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

或者

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

或者

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

但是(出于我不知道的原因),工作find速度比接近。children>

于 2012-07-08T21:51:29.793 回答