gpt4 book ai didi

javascript - 在 Firebase 博客中的 Vanilla Javascript 中将 Child`s Id 设置为父级唯一 ID 的父级

转载 作者:行者123 更新时间:2023-12-03 00:41:44 25 4
gpt4 key购买 nike

我正在创建一个博客。在我的 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;
....}

最佳答案

我自己已经弄清楚了。我无法获取它的原因是当我尝试添加 addDeleteButton.id 时。它实际上还不存在于 DOM 中。这就是为什么我拿不到 parent 的身份证的原因。我必须先追加Child(addEditButton),然后addDeleteButton.id = addDeleteButton.parentNode.parentNode.id + "-delete";

关于javascript - 在 Firebase 博客中的 Vanilla Javascript 中将 Child`s Id 设置为父级唯一 ID 的父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53430257/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com