jquery:如何删除前一个元素?

时间:2009-12-26 01:43:00

标签: javascript jquery

如何使用jquery删除前一个元素到触发器?

我试过了:

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

但没有任何作用!

4 个答案:

答案 0 :(得分:9)

确保正确引用了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>

答案 1 :(得分:5)

通常,当看似正确的jQuery语法不起作用时(尤其是遍历),通常是因为您在错误的元素上运行。看看这个HTML:

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

现在,如果我们通过click上的span事件与此相关,请务必先致电parent()以获取包含div,然后获取上一个元素:

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

$(this).prev().remove()的简单调用将失败,因为spandiv的唯一子项。

答案 2 :(得分:1)

您发布的确切代码works for me

请注意,this始终设置为例如一个jQuery click处理程序,但不在其他JavaScript函数中(除非你安排它以这种方式发生)。

答案 3 :(得分:0)

如果您提供更多背景信息,我们将能够更好地回答您的问题。请注意,除非您在处理程序的上下文中,否则这不一定指向当前元素。你想在这里实现什么目标?