簡體   English   中英

JavaScript刪除功能不起作用(絕對是新手)

[英]JavaScript delete-function does not work (absolute Newbie)

首先,對不起這個糟糕的代碼。 我是一個絕對的初學者,這是我有史以來第一個JS代碼,我不得不在時間壓力(不好)下對其進行編碼。

任務是編寫留言簿。 我有一個函數,可以為每個條目創建一個新的div並將其附加到最后一個(此部分效果很好)。

var lastid = 2;

function eintragen() {

    ...

    var divC = document.createElement('div');

    var ident='item'+lastid;

    divC.innerHTML = '<table id="'+ident+'" class="eintrag center">  
    <tr><td>Name:</td><td>'+name2+'</td></tr><tr>
    <td>Email:</td><td>'+email2+'</td></tr> 
    <tr><td>Eintrag</td><td>'+nachricht2+'</td></tr>
    <tr><td></td><td><button class="buttonklein"value="loeschen"

    ***onclick="loeschen('+ident+')"***

    >Eintrag löschen</button></td></t></table><hr>';



    **divC.setAttribute('id',ident);**

    var add = document.getElementById('item1');
    add.appendChild(divC);


    lastid+=1;

    ...

}  

我試過突出相關部分。 如您所見,我將ID兩次分配給divC,因為經過測試,我發現該ID在“ divC.innerHTML”段中不起作用。

每個條目都有一個自己的刪除按鈕,應該-可以猜到-刪除相關的條目。單擊該按鈕后,該功能將啟動,但隨后什么也沒有發生。

function loeschen(itemid) {

   var sitem = document.getElementById(itemid); 
   sitem.parentNode.removeChild(sitem);
}

我猜想,由於將ID分配給divC在“ divC.innerHTML”部分中不起作用,因此也無法將其作為參數分配給“ onclick”-屬性。

如果我在loeschen函數中用諸如“ item4”之類的具體內容替換itemid ,它將刪除條目4,因此我猜錯誤出在divc.innerHTML-part中。

問題:我哪里出問題了? 是否有錯誤的“奇怪”? 如何為每個按鈕提供當前的itemid? 一切對於其他變量(如名稱oder email)都可以正常工作,所以我完全不知道。

在此先非常感謝,並為我的糟糕作風表示歉意。 以后我會努力的。

用戶Teemu很快找到了答案,這是一個很大的幫助。 在divC.innerHTML段中,這確實是語法錯誤。 這樣就可以了:

    divC.innerHTML = `<table id="${ident}" class="eintrag center">  
    <tr><td>Name:</td><td>${name2}</td></tr><tr>
    <td>Email:</td><td>'+email2+'</td></tr> 
    <tr><td>Eintrag</td><td>${nachricht2}</td></tr>
    <tr><td></td><td><button class="buttonklein" value="loeschen"
    onclick="loeschen('${ident}')">Eintrag löschen</button>
    </td></t></table><hr>`;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM