Ничего страшного не произойдёт, за исключением того, что обрежется форматированный текст в input. А в остальных случаях, ничего не случится.
Если не согласны - приведите конкретный пример. |
Пересоздадутся все DOM-элементы на странице, на новых элементах уже не будет навешанных обработчиков событий.
|
Предполагается, что данная функция обработает лишь начальный шаблон, т.е. ее необходимо запустить до начала действия скрипта, вешающего все обработчики событий. Возможно также применение не для все страницы, а для отдельного элемента, в чем и есть преимущество.
Как вариант - создание рекурсивной функции, проверяющей наличие ОПРЕДЕЛЕННЫХ символов в TextNode, потому что вышеприведенная версия не удалит текстовые узлы, состоящие из пробельных символов. |
Как вариант:
var normalize=function normalize(htmlRoot){
if(!htmlRoot)
htmlRoot=document.documentElement;
for(var i=htmlRoot.firstChild;i!=null;)
if(i.nodeType==3&&(i.textContent||i.text).search(/\S/)==-1)
{
var old=i;
i=i.previousSibling||i.nextSibling;
old.parentNode.removeChild(old);
}
else
{
if(i.childNodes.length)
arguments.callee(i);
i=i.nextSibling;
}
};
Проверено на [JS]window.onload=recourse[\JS] |
| Часовой пояс GMT +3, время: 09:14. |