Javascript.RU

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

созданный елемент в innerHTML
Помогите пожалуйста!
Проблема состоит в том, что надо вывести переменную в хтмл тег.
Если делать так
document.querySelector('tbody').innerHTML += '<tr> <td class="number">' + (id + 1) + '</td> <td>' +
val.txt + '</td> <td class="' + val.imp + '">' + val.imp + '</td> <td class="done">' +
'<button>Done</button></td> </tr>';
}); //val - объект с полями imp и txt, id - просто переменная))
то в таком случае все отлично выводит, а если писать таким способом
x=document.createElement('tr');
x.innerHTML='<tr> <td class="number">' + (id + 1) + '</td> <td>' +
val.txt + '</td> <td class="' + val.imp + '">' + val.imp + '</td> <td class="done">' +
'<button>Done</button></td> </tr>';
});
document.querySelector('tbody').innerHTML += x;
то выводит нечто непонятное, а именно [object HTMLTableRowElement]
что делать? или как это преобразовать в нормальный вид.
Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 19.11.2013, 21:52
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 458

document.querySelector('tbody').appendChild(x);
Ответить с цитированием
  #3 (permalink)  
Старый 19.11.2013, 21:59
Новичок на форуме
Отправить личное сообщение для viktornord Посмотреть профиль Найти все сообщения от viktornord
 
Регистрация: 19.11.2013
Сообщений: 3

спасибо, сработало
Ответить с цитированием
  #4 (permalink)  
Старый 19.11.2013, 22:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от viktornord
x=document.createElement('tr');
x.innerHTML='<tr>
строка в строке - венигрет

Последний раз редактировалось рони, 19.11.2013 в 22:19.
Ответить с цитированием
  #5 (permalink)  
Старый 19.11.2013, 22:11
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

var ReturnThisHTML = (function(div){
    return function(obj) {
        div.innerHTML="";
        div.appendChild(obj);
        return div.innerHTML;
    }
})( document.createElement( 'div' ) );


var x=document.createElement('tr');
//Cтрока кривая, дабы не вводить переменных
 x.innerHTML='<tr> <td class="number"> + (id + 1) + </td> <td>'
 +  'val.txt +</td> <td class=" + val.imp + "> + val.imp + </td> <td class="done">'+ '<button>Done</button></td> </tr>';

alert(ReturnThisHTML(x))
//Далее 
//document.querySelector('tbody').innerHTML += ReturnThisHTML(x);


Хотя имхо проще добавить к tbody строку вместе с тегами tr ///
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
innerHTML....? Hapson Элементы интерфейса 4 24.07.2013 01:33
IE через innerHTML не видит методов флэшки (которые EnternalInterface) sociofilm Internet Explorer 1 04.04.2012 12:54
Проблема select innerHTML adamsalex AJAX и COMET 0 02.04.2012 11:46
innerHTML and z-index ViZ0R Общие вопросы Javascript 5 12.08.2009 10:28
ошибка с innerHTML Gekt0r Общие вопросы Javascript 15 21.08.2008 11:57