Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.11.2010, 10:46
Интересующийся
Отправить личное сообщение для Maximor17 Посмотреть профиль Найти все сообщения от Maximor17
 
Регистрация: 04.11.2010
Сообщений: 10

DOM, определение стиля элементов
Вот такой код:
function addComment() {
    // Отобразить текущее состояние готовности 
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            var comArray = xmlHttp.responseText.split("|");
            var name = comArray[0];
            var subject = comArray[1];
            var comment = comArray[2];
            var datetime = comArray[3];
            
            var tr1 = document.createElement("tr");
            var tr2 = document.createElement("tr");
            var tr3 = document.createElement("tr");
            var tr4 = document.createElement("tr");
            
            var td1 = document.createElement("td");
            var td2 = document.createElement("td");
            var td3 = document.createElement("td");
            
            // ЭТО НЕ РАБОТАЕТ
            td3.className = "comment_text";

            // ТОЖЕ НЕ РАБОТАЕТ
            td3.style.color = "red";
            
            var td4 = document.createElement("td");
                        
            var span1 = document.createElement("span");
            var span2 = document.createElement("span");
            
            span1 = document.createTextNode(name);
            span2 = document.createTextNode(subject);
            
            td1.innerHTML = "Автор: ";
            td2.innerHTML = "Тема:   ";
            
            td1.appendChild(span1);
            td2.appendChild(span2);

            td3 = document.createTextNode(comment);
            td4 = document.createTextNode(datetime);     
            
            var commentsTable = document.getElementById("comments_table");
            
            var tr1Node = commentsTable.appendChild(tr1);
            var tr2Node = commentsTable.appendChild(tr2);
            var tr3Node = commentsTable.appendChild(tr3);
            var tr4Node = commentsTable.appendChild(tr4);
            
            document.getElementById("comment_add_table").style.visibility = "hidden";
            
            tr1Node.appendChild(td1);
            tr2Node.appendChild(td2);
            tr3Node.appendChild(td3);
            tr4Node.appendChild(td4);
            
        } else if (request.status == 404) {
            alert("Requested URL is not found.");
        } else if (request.status == 403) {
            alert("Access denied.");
        }
    }
}


Я написал что в коде не работает, и все таки: не могу никак задать стиль свежесозданным элемнтам. Много пробовал, но ничего не выходит. Странно... хотя я только учу JS, DOM, Ajax. По этому прошу помощи...
Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 04.11.2010, 11:37
2de 2de вне форума
Аспирант
Отправить личное сообщение для 2de Посмотреть профиль Найти все сообщения от 2de
 
Регистрация: 26.10.2010
Сообщений: 78

Вы что то в коде намудрили, смотрите внимательно:
var td3 = document.createElement("td"); 

// ЭТО НЕ РАБОТАЕТ 
td3.className = "comment_text";
td3.style.color = "red";

td3 = document.createTextNode(comment);

tr3Node.appendChild(td3);


Вы переопределяете td3

Тогда уже хотя бы так напишите
td3.appendChild(document.createTextNode(comment));
или
td3.innerHTML=comment;
вместо
td3 = document.createTextNode(comment);
Ответить с цитированием
  #3 (permalink)  
Старый 04.11.2010, 15:54
Интересующийся
Отправить личное сообщение для Maximor17 Посмотреть профиль Найти все сообщения от Maximor17
 
Регистрация: 04.11.2010
Сообщений: 10

Большое спасибо. Завтыкал маленько, но уже разобрался. Благодарен!
Ответить с цитированием
  #4 (permalink)  
Старый 04.11.2010, 16:24
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от Maximor17
var tr1 = document.createElement("tr");
tr1Node.appendChild(td1)
var tr1Node = commentsTable.appendChild(tr1);
зачем такое вообще городить? я не спрашиваю знакомы ли вы с ООП, но циклы еще никто не отменял
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не та кодировка при изменении элементов DOM, загружаемых через ajax ShootNik Серверные языки и технологии 16 14.10.2010 09:55
Сделать список multiple select с сортировкой элементов Nargiza Элементы интерфейса 2 17.08.2010 14:44
Быстрый разбор списка элементов. B~Vladi Общие вопросы Javascript 31 14.07.2010 15:52
Где найти справочник методов DOM? master_alf Events/DOM/Window 6 16.04.2010 12:25
Определение свойств стиля в javascript, если в CSS он задан особым образом SunnyDay Общие вопросы Javascript 13 13.03.2010 19:09