簡體   English   中英

通過創建按鈕在JavaScript中刪除新創建的元素

[英]Removing a newly created element in JavaScript with creating a button

我通過此代碼在<div>添加了<p>並創建了一個按鈕。

var selectedId = this.value;
var divElem = $("#selectedItem");

var bElem = document.createElement("Button");
var bElemInnerHTML = document.createTextNode("Erase");
bElem.addEventListener('click', function () {
    remove(this.value);
}, true);
bElem.appendChild(bElemInnerHTML);

var pElem = document.createElement("p");
var pElemInnerHTML = document.createTextNode(this.value);
pElem.setAttribute('id', selectedId);
alert(pElem.getAttribute('id'));
pElem.style.fontSize = '25px';
pElem.style.textAlign = 'center';
pElem.style.margin = '5px';
pElem.appendChild(pElemInnerHTML);
pElem.appendChild(bElem);

divElem.append(pElem);

我添加到按鈕上,以在單擊時運行remove功能

function remove(id){
var emad = document.getElementById(id);
emad.parentNode.removeChild(emad);}'

但這不起作用。

bElem.addEventListener('click', function () {
    remove(this.value);
}, true);

上述上下文中的this.value引用Button元素的value屬性(它是一個字符串),而不是Button的ID。 另外,您還沒有定義ID,因此this.id將返回"" (空字符串)

bElem.addEventListener('click', function () {
    remove(this.id);
}, true);

您可以修改remove()來接受對象:

function remove(btn){
    emad.parentNode.removeChild(btn);
}

bElem.addEventListener('click', function () {
    remove(this);
}, true);

創建和刪除<div> Javascript 中的元素</div><div id="text_translate"><pre>function labelOnClick () { function makeDivId(id) { return id + "_div"; }; var div = this.getElementById(makeDivId(this.id)); if (div) { div.parentNode.removeChild(div); } else { div = document.createElement("div"); div.innerHTML = "welcome"; div.id = makeDivId(this.id); this.appendChild(div); } } &lt;label id="1" onclick="labelOnClick()" &gt; BROWSER &lt;/label&gt; &lt;label id="2" onclick="labelOnClick()"&gt; GAMING CONSOLE &lt;/label&gt;</pre><p> 在上面的示例中,我試圖在單擊 label 時創建一個div元素,並在再次單擊 label 時刪除創建的div元素,但它不起作用。</p></div>

[英]Creating and removing <div> element in Javascript

暫無
暫無

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

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