Показать сообщение отдельно
  #2 (permalink)  
Старый 15.12.2014, 10:10
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,567

Чтобы перерисовывался заменяемый текст, а не страница, надо заменять текст, а не страницу. Ваш капитан.

Вот функция обхода всех элементов, с заменой любого текста на картинки:
(function(){
    var elems = document.getElementsByTagName('*'), i = elems.length;
    while(i--) {
        var childs = elems[i].childNodes, j = childs.length;
        while(j--) if( childs[j].nodeType === 3 && /\S/.test( childs[j].data ) ){ //перебираем детей и если нода текстовая и не пустая
            var img = document.createElement('img'); //создаём картинку
            img.src = 'http://myhost.ru/' + childs[j].data + '.jpeg'; //добавляем в картинки адрес текст
            elems[i].replaceChild(img, childs[j]); //меняем текстовую ноду на картинку
        }        
    }
}())

Но разумнее заменять только тот текст, для которого есть перевод, заранее сделав список. А ещё разумнее(если кол-во перевода не велико) - обращаться напрямую к каждому элементу по id:
var el = document.getElementById('replace_me');
el.innerHTML = el.innerHTML.replace(/高於/g, '<img src="myhost.ru/高於.jpeg">')
__________________
29375, 35

Последний раз редактировалось Aetae, 15.12.2014 в 10:17.
Ответить с цитированием