В IE элементы массива JavaScript не определены - PullRequest
0 голосов
/ 11 ноября 2011

У меня есть страница с неупорядоченным списком ссылок.Я пытаюсь отсортировать этот список в алфавитном порядке по тексту ссылки.Мой javascript работает в Firefox и Chrome, но не в IE.IE перезаписывает исходный текст ссылки неопределенным.

Мой скрипт сначала находит тег ul, затем получает все ссылки по TagName и помещает их в массив lis.Затем идет этот цикл, где я беру текст ссылки и помещаю его во второй массив vals, чтобы я мог их отсортировать.Я думаю, что именно здесь возникает проблема.

для (var i = 0, l = lis.length; i

vals.push(lis [i] .text);

Насколько я могу судить, IE не считает, что .text существует.Я видел что-то в другом посте, в котором предлагалось изменить его на .text (), но это не сработало ни в одном браузере.

Как мне заставить IE сортировать мои ссылки?

Полный текст сценария

1 Ответ

2 голосов
/ 11 ноября 2011

.text не является стандартным свойством, которое работает везде.Вы можете использовать .innerHTML вместо этого следующим образом:

vals.push(lis[i].innerHTML);

Или, если вы просто хотите текст, вы можете использовать это:

vals.push(lis[i].textContent || lis[i].innerText);

Некоторые браузеры поддерживают innerText, некоторые поддерживают textContent.Эта строка кода получает все, что не определено.Вы можете увидеть, какие браузеры поддерживают какие здесь: http://www.quirksmode.org/dom/w3c_html.html.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...