Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > getelementsbytagname


Автор: armor85 24.1.2008, 10:04
Здравствуйте,

вот код скрипта 

Код

    this.start = function(){

        var tables = document.getElementsByTagName("table");

        for (var i=0;i<tables.length;i++){

            tables[i].onmouseover = function(){tableover = true};

            tables[i].onmouseout = function(){tableover = false};            

            rows(tables[i]);

        };

    };


так он работает нормально, но если я поменяю строку
Код

var tables = document.getElementsByTagName("table");

на
Код

var tables = document.getElementById("myTable");

уже не работает, хотя таблице я id поставил.

Проблема в том что у меня несколько таблиц на странице,
и это процедура присваевается им всем, а мне нужно только одной. 

Автор: Astraller 24.1.2008, 10:21
Дело в том что getElementsByTagName возвращает массив, и конструкция tables[i] имеет смысл.
А getElementById возвращает непосредственно сам элемент. И тогда конструкция tables[i] не имеет смысла, но имеет смысл конструкция tables.onmouseover = function(){tableover = true};

Автор: armor85 24.1.2008, 11:03
Astraller, ага спасибо, помогло,
надо было самому понять, что там Element, а нужен Elements

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)