У меня есть небольшая функция JavaScript, которая (помимо прочего) извлекает идентификатор последнего элемента с определенным именем класса.
var lastRowID = $(".sectionRow:last").attr('id');
Он должен найти элементы в таблице, которая выглядит следующим образом:
<table>
<tr id="courseSection[0]" class="sectionRow"><td>stuff</td></tr>
<tr id="courseSection[1]" class="sectionRow"><td>more stuff</td><td><a href="javascript:removeSectionRow(1)">(remove)</a></td><td><a href="javascript:addSectionRow()">(add additional row)</a></td></tr>
</table>
Если я быстро наберу alert(lastRowID)
, я получу 'courseSection [1]' в Chrome, Firefox и IE8.Однако IE7 ненавидит меня и говорит «undefined».
Примечание: я также пытался $(".sectionRow").last().attr('id')
безуспешно.
Есть мысли о том, что может происходить?Спасибо!
Редактировать: Эта таблица была добавлена с помощью javascript при нажатии кнопки (кнопка показывает / добавляет следующую часть формы).Так что это не статический HTML, который был в DOM при загрузке страницы.
Функция removeSectionRow (n) вызывается при нажатии на ссылку удаления.Он удаляет указанную строку, а затем ищет последнюю строку, оставшуюся с именем класса «sectionRow», чтобы дать этой строке ссылку «добавить дополнительную строку».Идея в том, что пользователь может добавлять и удалять строки по своему усмотрению.Вот скриншот готового результата, чтобы проиллюстрировать то, что я, вероятно, плохо объясняю: http://imgur.com/uXYHj.png