Показать сообщение отдельно
  #9 (permalink)  
Старый 02.06.2010, 20:33
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Sweet
Я, конечно, понимаю, вы, фрики, странные люди
Я конечно понимаю, что это было не в мою сторону, но это:
Сообщение от Sweet
Делать какие-то собственные теги глупо, потому что абсолютно не нужно!
чем-то и меня касается. А в целом я согласен с тем, что ему это не нужно.
Сообщение от Gvozd
моя память со скрипом напоминает, что в IE поиск по имени тега не выдает нестандартные теги
Если тег имеет пространство имен и оно определено через xmlns - всё хорошо. Единственное отличие - от имени тега обрезается пространство имен и добавляется в свойство scopeName. Таким образом в осле искать нужно не getElementsByTagName('ns:name'), а так: getElementsByTagName('name'), затем необходимо проверить, является ли элемент из нужного пространства имен по свойству scopeName. Скину реализацию поиска, возможно ещё какой-нибудь фрик заинтересуется.
var getElementsByTagName = (function(){
  var doc = document, isIE = /*@cc_on!@*/false, nsSeparator = ':';
  return function(name, parent){
    var nodes = [];
    if(!doc.body){
      return nodes;
    }
    var nameParts = name.split(nsSeparator, 2), ns = '';
    nameParts.length == 2 ? (ns = nameParts[0],name = nameParts[1]) : name = nameParts[0];
    var ele = (parent || doc.body).getElementsByTagName(!isIE && ns.length ? ns + ':' + name : name), l = ele.length;
    while(l--){
      isIE && ns.length ? ele[l].scopeName == ns && nodes.push(ele[l]) : nodes.push(ele[l]);
    }
    return nodes.reverse();
  }
})();
Ответить с цитированием