[英]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()
的簡單調用將失敗,因為span
是div
的唯一子級。
您發布的確切代碼對我有用 。
請注意, this
總是在jQuery click
handler中設置為一個元素,但在其他JavaScript函數中則不會設置(除非您安排它以這種方式發生)。
如果您提供更多背景信息,我們將能夠更好地回答您的問題。 請注意,除非您位於處理程序的上下文中,否則它不一定指向當前元素。 您想在這里實現什么?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.