我正在创建一个博客。在我的loadBlog
函数中,我创建了一个div,它为每个加载的博客帖子获取一个唯一的ID:div.id = newPost.postID;
在此div的div中,我嵌入了一个按钮,我要实现的是进入编辑模式(可以在其中编辑和删除帖子)时,该按钮用于获取父代ID的父代附加的字符串+“删除”。
例如
div id = postId-0
设置删除按钮的
button id = postId-0-delete
function enterEditingMode() {
document.getElementsByClassName('admin-help-editing-hidden')[0].classList.toggle('admin-help-editing');
let button = document.getElementById('editing-mode-button');
if (button.innerHTML === "Editing mode") {
button.innerHTML = "Exit editing mode";
const parentObject = document.getElementsByClassName('post-title');
[...parentObject].forEach((parent, i) => {
let addDeleteButton = document.createElement('button');
addDeleteButton.innerHTML = "Delete";
addDeleteButton.setAttribute("onclick", "deletePost()");
addDeleteButton.id = //how to set dinamic id
addDeleteButton.className = "delete-button";
parent.appendChild(addDeleteButton);
})
}
else if (button.innerHTML === "Exit editing mode") {
...
}
}
}
function loadMyBlog() {
let posts = firebase.database().ref('posts/');
posts.on('child_added', function(snapshot) {
let newPost = snapshot.val();
let div = document.createElement('div');
div.className = 'blog-post';
div.id = newPost.postID;
....}
答案 0 :(得分:1)
我自己弄清楚了。之所以无法得到它,是因为当我尝试添加addDeleteButton.id时。它实际上在DOM中还不存在。这就是为什么我无法获得父母的身份证。我必须先添加appendChild(addEditButton)
addDeleteButton.id = addDeleteButton.parentNode.parentNode.id + "-delete";