Я пытался использовать nextAll () и siblings (), но эти функции никогда ничего не возвращают, и я могу только предположить, что это связано с тем, что входные данные формы вложены в другие элементы html (ячейки таблицы).
// This works like I would expect but obviously returns all the input elements
$("input.tbDate").each( function(index) {
alert('class selector : Index=' + index + ' id=' + $(this).attr("id") );
});
// these next ones do not work, I only need elements after currently selected input
$(obj).siblings().each( function(index) {
alert('sibings() : Index=' + index + ' id=' + $(this).attr("id") );
});
$(obj).nextAll().each( function(index) {
alert('nextAll() : Index=' + index + ' id=' + $(this).attr("id") );
});
Итак, я хочу получить все родственные элементы после выбранного в данный момент элемента
ОБНОВЛЕНИЕ:
Так что это будет работать в моей конкретной ситуации - см. Ответ ниже
$(this).parent().parent().nextAll().find('input')...
Но это то, что я уже сделал, чтобы заставить мою страницу работать
$("input.tbDate").each( function(index) {
if (endDate != null)
{
if ( $(this).attr("id").indexOf("StartDate") != -1 )
{
endDate.setDate( endDate.getDate() + 1);
var dayOfTheWeek = endDate.getDay();
if (dayOfTheWeek==6)
{
endDate.setDate(endDate.getDate()+2);
}
else if (dayOfTheWeek==0)
{
endDate.setDate(endDate.getDate()+1);
}
}
endDateString = endDate.getMonth() + 1 + "/" + endDate.getDate() + "/" + endDate.getFullYear();
$(this).val( endDateString );
}
// Found input text box and grabbing
if ( $(this).attr("id") == $(obj).attr("id"))
{
endDate = new Date( $(obj).val() );
}
});
Есть ли Гоча, делающий это так, как я это сделал? Является ли один способ выбора элементов предпочтительным (быстрее / лучше), чем другой?