Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   созданный елемент в innerHTML (https://javascript.ru/forum/events/43048-sozdannyjj-element-v-innerhtml.html)

viktornord 19.11.2013 21:24

созданный елемент в 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]
что делать? или как это преобразовать в нормальный вид.
Спасибо!

Rise 19.11.2013 21:52

document.querySelector('tbody').appendChild(x);

viktornord 19.11.2013 21:59

спасибо, сработало :)

рони 19.11.2013 22:00

Цитата:

Сообщение от viktornord
x=document.createElement('tr');
x.innerHTML='<tr>

строка в строке - венигрет :-?

Deff 19.11.2013 22:11

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);


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


Часовой пояс GMT +3, время: 06:40.