Показать сообщение отдельно
  #6 (permalink)  
Старый 27.06.2009, 15:23
Аспирант
Отправить личное сообщение для Pattern Посмотреть профиль Найти все сообщения от Pattern
 
Регистрация: 13.05.2009
Сообщений: 37

Сообщение от Kolyaj Посмотреть сообщение
document.getElementsByTagName('*')
А при переборе уже имя тега проверять.
Не советую никогда так делать, ибо getElementsByTagName вернёт список (массив) всех элементов на странице. А на динамически создаваемых страницах их может быть немереное количество -> "пожирание" памяти.
Octane дал одно из правильных решений. Только я бы всё таки прототайп не стал трогать. Можно и так реализовать:
function getTagsNames(){
  var res=new Array();
  var tmp=null;
  for(var a=0;a<arguments.length;a++){
    tmp=document.getElementsByTagName(arguments[a]);
    for(var t=0;t<tmp.length;t++)
      res.push(tmp[t]);
  }
  return res;
}

Ну и собственно вызов
var mytags=getTagsNames('div','span');

Количество указываемых тагов может быть неограниченным от 0 и выше. Последовательность тагов в массиве будет соответсвовать тому, как вы передадите их в параметрах функции. Ну и собсно, если ничего не найдено, вернётся пустой массив.
Ответить с цитированием