繁体   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