0

<p>このコードで aに aを追加し<div>、ボタンも作成しました。

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);}'

しかし、うまくいきません。

4

1 に答える 1

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

上記のコンテキストの this.value はButton、ボタンの ID ではなく、要素の value プロパティ (文字列) を参照します。また、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);
于 2013-06-10T05:28:30.137 に答える