установите Child`s Id для родительского уникального идентификатора родителя в Javascript Vanilla в блоге Firebase - PullRequest
0 голосов
/ 22 ноября 2018

Я создаю блог.В моей функции loadBlog я создаю div, который получает уникальный идентификатор для каждого загруженного сообщения в блоге: div.id = newPost.postID; В div этого div у меня есть встроенная кнопка, чего я хотел бы добиться, когда я вхожу в режим редактирования (где я могу редактировать и удалять сообщения) кнопка для получения родительского идентификатора родителя с прикрепленной строкой + "удалить".

Например

div id = postId-0

установить кнопку удаления

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;
....}

1 Ответ

0 голосов
/ 22 ноября 2018

Я понял это сам.Причина, почему я не мог получить это, потому что, когда я пытался добавить addDeleteButton.id.на самом деле его еще не было в DOM.Вот почему я не смог получить удостоверение личности родителя.Я должен был сначала добавить Child (addEditButton), а затем addDeleteButton.id = addDeleteButton.parentNode.parentNode.id + "-delete";

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...