如何使用jquery获取相邻标记中子项的子项的值?

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

 
// suppose I start from this element
...

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

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

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

您错过了引号,也从.div#firstID1删除了dot

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

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

你有额外的. dot以及idfirstID1而不是firstID :)其他我已根据您的需要调整它。

希望这个帮助,

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

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]元素的代码。

你也可以用,

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

要么

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

要么

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

但是(由于我不知道的原因), findchildren更快的工作和>接近。