簡體   English   中英

jQuery:如何刪除上一個元素?

[英]jquery: how to remove the previous element?

如何使用jquery刪除觸發元素的前一個元素?

我努力了:

$(this).prev().remove();
$(this).next().remove();

但是什么都行不通!

確保正確引用了jQuery,並且所有語法均正確:

$("li").click(function(){
  $(this).prev().remove();
});

適用於:

<ul>
  <li><p>Don't delete me!</p></li>
  <li><p>Click me to delete him!</p></li>
  <li><p>Click me twice, to take 'em both out!</p></li>
  <br/> <!-- line break added after OP's comments -->
  <li><p>Click me to remove the line-break!</p></li>
</ul>

通常,當看似正確的jQuery語法不起作用(尤其是遍歷時)時,通常是因為您對錯誤的元素進行了操作。 看一下這個HTML:

<div>
  Please remove me
</div>
<div>
  <span>Click to remove</span>
</div>

現在,如果我們通過span上的click事件進行連接,那么首先調用parent()以獲取包含div ,然后獲取上一個元素很重要:

$("span").click(function(){
    $(this).parent().prev().remove();
});

$(this).prev().remove()的簡單調用將失敗,因為spandiv的唯一子級。

您發布的確切代碼對我有用

請注意, this總是在jQuery click handler中設置為一個元素,但在其他JavaScript函數中則不會設置(除非您安排它以這種方式發生)。

如果您提供更多背景信息,我們將能夠更好地回答您的問題。 請注意,除非您位於處理程序的上下文中,否則它不一定指向當前元素。 您想在這里實現什么?

暫無
暫無

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

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