亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

Jquery 不會對 Jquery 創建的文本做出反應

Jquery 不會對 Jquery 創建的文本做出反應

慕哥6287543 2023-06-09 15:55:20
我想要做的是在按下按鈕時將元素添加到列表中,然后再次按下按鈕能夠刪除任何項目。這是我的意思的最小工作示例:$('.delete-item').click(function() {  $(this).parent().text("DELETED")})$('button').click(function() {  $('ul').append(`<li>Appended item <a class="delete-item" href="#">Delete item</a></li>`)})<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><ul>  <li>List item 1 <a class="delete-item" href="#">Delete item</a></li>  <li>List item 2 <a class="delete-item" href="#">Delete item</a></li></ul><button type="button">Add item</button>在這里,您可以將項目添加到無序列表并“刪除”已經存在的項目,現在,您可以很好地刪除預制項目,但是如果您嘗試刪除附加項目,無論出于何種原因,您都可以't。這是如何固定的?謝謝!
查看完整描述

1 回答

?
青春有我

TA貢獻1784條經驗 獲得超8個贊

$('.delete-item').click(...)僅將事件偵聽器附加到現有項目。像這樣使用事件委托:

$("ul").on("click",?".delete-item",?function()?{
????$(this).parent().text("DELETED")
});

使用事件委托,您可以將事件偵聽器附加到 DOM 中已存在的祖先(此處為元素<ul>),并監視后代上的事件,無論它們是否已經存在或動態添加。

演示:

$("ul").on("click", ".delete-item", function() {

? $(this).parent().text("DELETED")

});


$("button").click(function() {

? $("ul").append(`<li>Appended item <a class="delete-item" href="#">Delete item</a></li>`)

});

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<ul>

? <li>List item 1 <a class="delete-item" href="#">Delete item</a></li>

? <li>List item 2 <a class="delete-item" href="#">Delete item</a></li>

</ul>


<button type="button">Add item</button>


查看完整回答
反對 回復 2023-06-09
  • 1 回答
  • 0 關注
  • 135 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號