То, что вы просите, на самом деле немного сложнее из-за того, как у вас есть настройки HTML. Вам также здесь не хватает множества закрывающих тегов ...
Гораздо проще искать вещи, если они прямые братья и сестры. Добавление другого класса к элементам .row
, содержащим такие детали, как class="row rowDetails"
, сделает это немного проще.
При этом будет найден следующий, использующий ваш текущий HTML.
$( "a.getNote" ).click( function( event ) {
// traverse up to the "row"
var noteDetails = $( this ).closest(".row")
// find the next siblings that contain a .noteDetails
.nextAll().has( ".noteDetails" )
// limit to the first match
.first()
// and then find the .noteDetails it contained
.find(".noteDetails");
});
Если вы измените HTML, как я предлагал, вы можете заменить .nextAll().has( ".noteDetails" )
на .nextAll( ".rowDetails" )
. Использование класса для селектора на nextAll()
будет намного быстрее, чем необходимость фильтровать с помощью .has()
.