Мне нужно добавить кнопку в динамически созданную таблицу с использованием базы данных Firebase в реальном времени.
Я пытался сделать это с помощью приведенного ниже фрагмента кода.
function createElementWithText(tag, text) {
var elm = document.createElement(tag);
elm.textContent = text;
return elm;
}
var tr = document.createElement('tr');
var td = document.createElement('td');
var button = document.createElement('button');
tr.appendChild(createElementWithText('td', userName));
tr.appendChild(createElementWithText('td', userEmail));
tr.appendChild(createElementWithText('td', userPassword));
tr.appendChild(createElementWithText('td',createElementWithText('button', input.innerHTML = 'type="button" class="abc" onclick="userAction()"')));
appendingTo.appendChild(tr);
}
Вот мой полный код,
var dbRefUsers = firebase.database().ref().child('Web App').child('Users');
var appendingTo = document.getElementById("userlist");
dbRefUsers.on('child_added', gotNewChild, errData);
function gotNewChild(userSnapshot){
var user = userSnapshot.val();
var userName = user.Name;
var userEmail = user.Email;
var userPassword = user.Password;
function userAction(){
}
function createElementWithText(tag, text) {
var elm = document.createElement(tag);
elm.textContent = text;
return elm;
}
var tr = document.createElement('tr');
var td = document.createElement('td');
var button = document.createElement('button');
tr.appendChild(createElementWithText('td', userName));
tr.appendChild(createElementWithText('td', userEmail));
tr.appendChild(createElementWithText('td', userPassword));
tr.appendChild(createElementWithText('td',createElementWithText('button', button.innerHTML = 'type="button" class="abc" onclick="userAction()"')));
appendingTo.appendChild(tr);
}
function errData(error){
console.log("Error!")
console.log(error);
}
Но вывод, показанный в последнем td, равен [object HTMLInputElement]
.
Может ли кто-нибудь помочь мне решить эту проблему?