Алексей Повольнов, немного оффтоп, но ноды лучше собирать с помощью TreeWalker:
function textNodesUnder(el){
var n, a=[], walk=document.createTreeWalker(el,NodeFilter.SHOW_TEXT,null,false);
while(n=walk.nextNode()) a.push(n);
return a;
}
Вызов textNodesUnder(document) вернёт все текстовые ноды.
Под "лучше" я имею в виду тот факт, что этот инструмент как раз и создан для сбора нод, поэтому работает в разы быстрее.
Алексей Повольнов, отлично. Выполняю этот код в контексте первого примера, то есть рутом будет P, просто вывожу значения в консоль, получаю такой результат:
"
текст"
"
продолжение текста"
Всё в порядке. Далее второй пример, такой результат:
"
текст"
""
"
продолжение текста"
Тоже всё в порядке. Или я опять не понял в чем проблема.
Алексей Повольнов, я вообще ничего не понял, что вы написали. Текстовые ноды имеют тип 3, брейк считается обычным элементом, тип 1. NodeValue не имеет отношения к нодам первого типа, об этом можно было прочитать по той ссылке что я вам дал в прошлом вопросе.
"NodeValue не любит тег BR?" - непонятно это и что значит слово "мешает".
jtag_, а каким образом можно передать всю директорию? К тому же я никогда не видел, чтоб загрузка картинки блокировалась в виду того, что она на локальном ресурсе, вероятно вы что-то делаете не так.
jtag_, а какие именно условия диктуют такой подход? Было бы интересно знать, потому что тогда проще будет понимать ограничения.
Чаще всего изображения с сервера на браузер отправляются с помощью ссылок, указывающих на эти изображения: "some-domain.com/storage/images/me-and-my-cat.jpg". В вашем случае нельзя задачу свести к этому?
jeruthadam, и то, что заново их задавать не надо. Ищите, функция поиска на тостере реализовано вполне себе нормально. Например по запросу "скролл появление элемента"
+1, исходники хотя бы того же Firefox 53.0.3 просто поражают количеством кода: 157097 файлов, 13221 директорий, всё вместе это весит 1.02гб или 1.25 на NTFS при размере кластера в 4кб. OCZ Vertex460 и i5-4590 распаковали этот архив чуть меньше чем за 10 минут. Поиск по любому (даже уникальному) слову в саблайме занимает столько времени, что можно пойти сделать себе тазик чая и почти допить его, а tree view можно смотреть как многосерийную мелодраму.
Алексей Повольнов, ну, если вы измените nodeValue на HTML, то по факту произойдёт именно то что вы хотите - текст ноды будет содержать код. Мне кажется это достаточно логично - если вы изменяете содержимое текстовой ноды, то независимо от того что вы туда залили, отображаться это будет как текст, потому что нода текстовая, можете это по коду nodeType посмотреть. Вероятно, вам стоит не менять содержимое ноды, а создавать новый элемент и заменять ноду на него с помощью replaceChild
"он не написан в одно строку" - да, я вижу что в коде он не написан в одну строку, или о чем речь?
"как мне перемещаться по этим узлам" - несмотря на формулировку (перемещаться?) вероятно вам будет полезно знать, что объект body содержит, естественно, ссылки на все дочерние элементы: на элементы - в свойстве children, на узлы - в свойстве childNodes.
Immortal_pony: внезапно. Я под виндой выполняю "ping -6 rusgumus.ru", адрес ресолвится 2a03:6f00:1::b039:d229, то есть такой же как у вас, пинг с помощью рандомной онлайн тулзы то же самое показывает. К тому же контент сильно различается. В частности, вам показывается городской саратовский номер, а мне тоже саратовский, но мегафоновский.
Вероятно, для Москвы и Торонто разный контент, то есть скорее всё же для Москвы и "неМосквы", как это обычно бывает. Этот факт сам по себе не особо примечателен, а вот чтоб прям даже CMS для разных регионов отличалась, это я в первый раз вижу.
Вызов textNodesUnder(document) вернёт все текстовые ноды.
Под "лучше" я имею в виду тот факт, что этот инструмент как раз и создан для сбора нод, поэтому работает в разы быстрее.