Ничего страшного не произойдёт, за исключением того, что обрежется форматированный текст в 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, время: 21:41. |