Показать сообщение отдельно
  #26 (permalink)  
Старый 08.04.2009, 15:51
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Цитата:
Так в .childNodes попадают undefined
они туда не попадают, дело в уменьшении размера childNodes
Цитата:
И не только для этого случая.
Мало ли в каких ситуациях такое может случиться
с такими "как бы чего не вышло" можно далеко зайти, поэтому я предпочитаю знать, зачем я что-то делаю
Цитата:
Зачем перезаписывать текстовые узлы содержащие пробельные символы
это случайно получилось, я на это не рассчитывал
я бы написал так:
window.onload = function() {
    TextNode.each(function(noda) {
        var div = document.createElement('div');
        div.innerHTML = noda.nodeValue.replace(/(http\:\/\/www\.youtube\.com\/watch\?v\=[0-9a-z]{11})/gi, '<a href="$1">$1</a>');
        if (! div.firstChild ||
            (div.innerHTML == noda.nodeValue))
                return;
        var f = document.createDocumentFragment();
        while( div.firstChild )
            f.appendChild( div.firstChild );
        noda.parentNode.replaceChild( f, noda );
    });
};

не знаю, если бы это была какая-то общедоступная библиотека, стоило бы ее как-то оптимизировать, но такого опыта у меня пока нету. И я бы скорее искал узкие места в реальных приложениях, чем оптимизировал все по максимуму
кстати, по поводу читабельности можно вспомнить http://en.wikipedia.org/wiki/Unix_philosophy , там несколько раз отдается предпочтение читабельности, а не наоборот
Ответить с цитированием