LINUX.ORG.RU

Рендеринг шаблонов

 , ,


0

2

Описываю проблему.

Есть вот такая конструкция

<div id='wrap'>
  <div class='elem'>1</div>
  <div class='elem'>2</div>
</div>

Если в javascript написать что-то по типу

document.getElementById('wrap').innerHTML = 
"<div class='elem'>3</div>" + 
"<div class='elem'>4</div>";
то для div'ов класса 'elem' не будут применяться стили css.

В принципе всё логично, но как избавиться от такой проблемы ? Как перезагрузить css для 'wrap' и всего содержимого ?


Как-то так

if(!document.getElementsByClassName) {       
    document.getElementsByClassName = function (class_name) {
        var elements = document.body.getElementsByTagName("*"),
            length   = elements.length,
            out = [], i;
 
        for (i = 0; i < length; i += 1) {
            if (elements[i].className.indexOf(class_name) !== -1) {
                out.push(elements[i]);
            }        
        }         
        return out;
    };
}
for(elem in document.getElementsByClassName('elem')){
    if (!elem.hasOwnProperty(prop)) continue;

    if (elem.getAttribute('style'))
        elem.style.cssText = "styles";
    else 
        elem.setAttribute('style', "styles");
}
k0valenk0_igor ★★★
()
Последнее исправление: k0valenk0_igor (всего исправлений: 1)
Ответ на: комментарий от Weres

Прошу меня извинить, всё отлично работает, небольшая глупость приключилась

endl
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.