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

ajs*_*sie 1 javascript jquery

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

我试过了:

$(this).prev().remove();
$(this).next().remove();
Run Code Online (Sandbox Code Playgroud)

但什么都行不通!

Sam*_*son 9

确保正确引用了jQuery,并且所有语法都是正确的:

$("li").click(function(){
  $(this).prev().remove();
});
Run Code Online (Sandbox Code Playgroud)

适用于:

<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>
Run Code Online (Sandbox Code Playgroud)


Dou*_*ner 5

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

<div>
  Please remove me
</div>
<div>
  <span>Click to remove</span>
</div>
Run Code Online (Sandbox Code Playgroud)

现在,如果我们clickspan其与事件连接在一起,那么首先调用parent()get来获取包含div,然后获取前一个元素是很重要的:

$("span").click(function(){
    $(this).parent().prev().remove();
});
Run Code Online (Sandbox Code Playgroud)

一个简单的调用$(this).prev().remove()将失败,因为它span是唯一的孩子div.