Почему Firefox 1.5 не может разобрать DOM-потомки выпадающего списка SELECT? - PullRequest
1 голос
/ 22 ноября 2010

Мне необходимо использовать Firefox 1.5 (да, я знаю ...) для внутреннего инструмента, используется только в закрытой системе.

У меня есть базовый html выберите раскрывающееся меню:

<select name="selectName" ID="Select">
   <option value="A" selected>Tom</option>
   <option value="B">Jim</option>
   <option value="C">Nancy</option>
</select>

В JavaScript я хотел бы извлечь имя (внутренний текст) выбранной опции.

В Firefox 3.6 Я могу сделать следующее:

var x = document.getElementById("Select");
var name = x.children[x.selectedIndex].text;

и имя будет содержать строку выбранного выпадающего списка.(Tom по умолчанию)

Однако, когда я запускаю этот код в Firefox 1.5, я получаю следующую ошибку:

x.children не имеет свойств

К сожалению, я не могу установить Firebug на 1.5, так как он не совместим, чтобы получить больше информации.

У меня есть консоль ошибок JavaScript на 1.5, и это все.

Как еще можно получить текст выбранной опции, который будет работать с FF1.5.

Есть ли метод JQuery, который будет работать в этой ситуации?

Кроме того, мне интересно, почему это не работает в FF1.5

(Есть ли совместимыйОтладчик JS для FF 1.5?)

Спасибо.

Ответы [ 3 ]

3 голосов
/ 22 ноября 2010

Элемент <select> имеет атрибут "options", значением которого является массив элементов <option>. Вы должны быть в состоянии использовать это точно так же, как вы используете «детей». (На самом деле я думаю, что это лучшая привычка, потому что дети <select> не обязательно являются просто <option> элементами.)

2 голосов
/ 22 ноября 2010
x.options[x.selectedIndex].innerHTML

И перейдите сюда, чтобы получить старую версию Firebug, совместимую с Firefox 1.5 (похоже, Firebug 1.05 - последняя версия, которая была совместима):

https://addons.mozilla.org/en-US/firefox/addon/1843/versions/

1 голос
/ 22 ноября 2010

Разве вы не должны использовать "childNodes", а не "children"?(да, вы можете использовать «параметры», но также можете знать общее решение) Другой вариант (хе) - select.getElementsByTagName («OPTION»).

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