第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在沒有唯一 ID 時刪除特定容器

如何在沒有唯一 ID 時刪除特定容器

小唯快跑啊 2022-06-16 10:53:08
我已經(jīng)實現(xiàn)了一個 HTML 任務(wù)板。當用戶按下“保存”按鈕時,JS 代碼會將用戶任務(wù)添加到容器中。每個任務(wù)容器都有一個“刪除”按鈕,但是當按下它時 - 它會刪除第一個容器子項。代碼:“保存”按鈕代碼: var mission = {         text: document.getElementById('textarea').value,    date: document.getElementById('date').value,    time: document.getElementById('time').value }; const rows = document.getElementById('rows'); const cell = document.createElement('div'); const id = document.createAttribute('id'); id.value = "div-cell"; cell.setAttributeNode(id); cell.innerHTML = '<button id="remove-button" type="button" class="btn btn-default" aria-label="Right Align" onClick="removeButton()"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></button><textarea></textarea><div><input><input></div>'; rows.appendChild(cell); const [textarea, dateinput, timeinput] = cell.querySelectorAll('textarea, input');  textarea.value = mission.text; dateinput.value = mission.date; timeinput.value = mission.time;“刪除”按鈕代碼:function removeButton(){  document.getElementById('rows').removeChild(document.getElementById('div-cell'));}我確實了解我的代碼 - 查找第一個孩子并將其刪除。有人可以告訴我如何移除被按下而不是第一個被按下的容器。我想到了一個數(shù)組,但我不知道如何實現(xiàn)它。感謝幫助者
查看完整描述

2 回答

?
隔江千里

TA貢獻1906條經(jīng)驗 獲得超10個贊

您需要處理程序來獲取對單擊的按鈕(或其容器)的引用,以便它可以刪除容器 - 處理程序需要一個參數(shù)或者它需要檢查事件。

另一個問題是您使用的是內(nèi)聯(lián)處理程序,它有太多問題。改為使用 Javascript 附加偵聽器,在處理程序內(nèi)部,您將能夠cell在外部范圍內(nèi)引用 ,并且.remove()它:

button.onclick = () => cell.remove();

var mission = {

  text: 'text',

  date: 'date',

  time: 'time'

};


const rows = document.getElementById('rows');

const cell = document.createElement('div');

cell.innerHTML = '<button type="button" class="btn btn-default" aria-label="Right Align"><span class="glyphicon glyphicon-remove" aria-hidden="true">Remove</span></button><textarea></textarea><div><input><input></div>';

rows.appendChild(cell);


const [button, textarea, dateinput, timeinput] = cell.querySelectorAll('button, textarea, input');


button.onclick = () => cell.remove();

textarea.value = mission.text;

dateinput.value = mission.date;

timeinput.value = mission.time;

<div id="rows"></div>

請注意,文檔中具有特定 ID 的元素不應(yīng)超過一個。rows在這種情況下,無論如何都不需要容器以外的任何 id 。


查看完整回答
反對 回復 2022-06-16
?
HUWWW

TA貢獻1874條經(jīng)驗 獲得超12個贊

我建議創(chuàng)建按鈕,createElement以便您可以收聽點擊事件,并將其附加到容器,cell如下所示


// The cell which contains the button itself is being passed as a parameter

createRemoveButton = (cell) => {

    const button = document.createElement('button');

    button.addEventListener('click', _ => {

        document.getElementById('rows').removeChild(cell);

    });

    // Apply any styles needed...

    button.style.height = '20px';

    button.innerHTML = 'Remove';

    return button;

}

然后,當您創(chuàng)建div-cell元素時,只需將生成的按鈕附加到click事件的回調(diào)中。


// ...

const rows = document.getElementById('rows');

const cell = document.createElement('div');

const id = document.createAttribute('id');

id.value = 'div-cell';

cell.setAttributeNode(id);


const btn = createRemoveButton(cell);

cell.innerHTML = '<textarea></textarea><div><input><input></div>';

cell.appendChild(btn);


rows.appendChild(cell);

//...


查看完整回答
反對 回復 2022-06-16
  • 2 回答
  • 0 關(guān)注
  • 150 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號