从特定的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();
答案 0 :(得分:3)
这会有所帮助:http://jsfiddle.net/bQYZJ/
你有额外的.
点以及id
firstID1
而不是firstID
:)
其他我根据你的需要调整了它。
希望得到这个帮助,
<强>码强>
var nextID = $('div#firstID1').next('div').find('input').val();
答案 1 :(得分:1)
您错过了引号,同时从dot
移除了.div#firstID1
:
var nextID = $('div#firstID').next().find('input').val();
答案 2 :(得分:1)
将.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”,
这将允许您获取任何“evented”元素的“下一个div输入值”,因此您无需重写任何firstID[N]
元素的代码。
答案 3 :(得分:0)
您可以也使用,
var nextID = $('div#firstID1 > div > input')
或
var nextID = $('div#firstID1').children().children()
或
var nextID = $('div#firstID1').children('div').children('input');
但是(由于我不知道的原因),find
的工作速度比children
和>
更快。