2014-09-04 4 views
0

Я хочу получить выбранный индекс из getElementByClassName.Как получить выбранный индекс из getElementByClassName

Я знаю, как я могу получить от Id, но почему-то ее не работает для ClassName ..

document.getElementById("Metriclayer").selectedIndex = abc; 

так, как я могу получить его для document.getElementByClassName.

Я хочу, чтобы установить значение ABC (его целое число) в выбранном индексе document.getElementByClassName("MetricClass").

Как я могу сделать это.

ответ

2

Нет функции getElementByClassName, функция getElementsByClassName. Как вы можете видеть, Elements является множественным, поэтому он возвращает коллекцию всех элементов с этим классом, а не один элемент. Вам нужно индексировать коллекцию. Если вы хотите, первый (или единственный) элемент сбора, использования:

document.getElementsByClassName("MetricClass")[0].selectedIndex = abc; 

DEMO

Если вы хотите работать на всех из них, написать цикл:

var elements = document.getElementsByClassName("MetricClass"); 
for (var i = 0, l = elements.length; i < l; i++) { 
    elements[i].selectedIndex = abc; 
} 
+0

Hi @Barmar - Metriclayer это имя класса для комбинированного окна, и я хочу, чтобы сохранить значение аЬс (скажем, 2) в document.getElementsByClassName ("Metriclayer") [ 0] .selectedIndex = abc; а затем позже захотите получить его так же, как abc = document.getElementsByClassName («Metriclayer») [0] .selectedIndex – PSDebugger

+0

Это не работает, поскольку я не могу получить выбранный индекс после его получения – PSDebugger

+0

Я не знаю почему он не работает для вас, он работает для меня: http://jsfiddle.net/barmar/685sa7fs/3/ – Barmar

0

document.getElementByClassName не существует, поскольку это было бы бессмысленно - в одном документе могут быть элементы с одним и тем же именем с одним и тем же именем. Правильное имя функции множественного числа - document.getElementsByClassName. Поскольку это возвращает массив элементов, а не один, для получения полезного результата требуется больше обработки.

0

Попробуйте это:

var el = document.getElementsByClassName('MetricClass'); 
var index0 = el[0].selectedIndex; 
Смежные вопросы