Прежде всего вы должны исправить свой HTML-код, так как атрибут id
уникален.Я предлагаю вам использовать атрибут класса:
<table id="foo" border="1">
<tr>
<td rowspan="3" class="date">Monday</td>
<td>Cell A1 <a href="#" class="edit">edit</a></td>
</tr>
<tr>
<td>Cell A2 <a href="#" class="edit">edit</a></td>
</tr>
<tr>
<td>Cell A3 <a href="#" class="edit">edit</a></td>
</tr>
<tr>
<td rowspan="3" class="date">Tuesday</td>
<td>Cell B1 <a href="#" class="edit">edit</a></td>
</tr>
<tr>
<td>Cell B2 <a href="#" class="edit">edit</a></td>
</tr>
<tr>
<td>Cell B3 <a href="#" class="edit">edit</a></td>
</tr>
</table>
в коде javascript. Сначала я проверяю, есть ли дата в текущей строке, если нет, получаю первое пред.строка, содержащая дату:
$("#foo a.edit").click(function(e){
var tr = $(this).closest("tr"),
date = tr.find("td.date");
if (date.length == 0) {
date = tr.prevAll(":has(td.date):first").find("td.date");
}
e.preventDefault();
alert(date.html());
});
см. рабочую демонстрацию по адресу: http://jsfiddle.net/roberkules/WwZPY/
sidenote: я заметил, что вы использовали прописные и строчные имена для классов.Я предлагаю быть более последовательным и называть их всегда прописными или строчными буквами.и классы css чувствительны к регистру, поэтому для устранения другого источника ошибок будьте последовательны.