Индекс строки -1 приводит к Safari и Chrome - PullRequest
1 голос
/ 19 сентября 2011

Почему я получаю результат Индекс строки -1 в Safari и Chrome, когда я пытаюсь получить доступ к строке динамически создаваемой таблицы?

К строке добавляется document.getElementById('tabl').appendChild(rowobject), а затем получает значение -1 для строкиИндекс.Можно это как-нибудь исправить?

Ответы [ 2 ]

1 голос
/ 19 сентября 2011

При ссылке на активную / выбранную строку в таблице индекс -1 означает, что в данный момент нет активной / выбранной строки.При поиске индекса строки таблицы по содержимому некоторого поля результат поиска -1 означает, что такая строка не была найдена.

Это связано с тем, что таблицы основаны на индексе 0, то есть первая строка является строкой0, вторая строка - строка 1 и т. Д. -1 явно указывает на отсутствие строки / недопустимую строку.

0 голосов
/ 02 марта 2014

При создании таблицы вместо:

document.getElementById('tabl').appendChild(rowobject)

запись:

rowobject = document.getElementById('tabl').insertRow(-1);

Это добавит новую строку в конец таблицы, но новая строка теперь будет иметь правильный индекс даже в Chrome и Safari. Затем вы можете использовать возвращенную ссылку на rowobject, если хотите установить для него некоторые свойства, такие как ID, или добавить дополнительные дочерние элементы, такие как td.

Хорошего дня:)

...