如何正确使用jquery prev

How to properly use jquery prev?

本文关键字:jquery prev 何正确      更新时间:2023-09-26

如何使用prev()选择上一个元素?我希望当我单击icon 1时,它会删除span

html.erb

# inside a loop -- notice the loop!.
<span data-id="foo_span">
  <i data-id="bar">icon 1</i>
  <i>icon 2</i>
</span>

JavaScript:

$("[data-id=bar]").click(function(e){
  e.preventDefault();
  //$(this).prev("[data-id=foo_span]").remove();
  $(this).prev().remove();
});

我是否正确使用prev()?在实例的基础上,使用了.css。删除span标记的正确方法是什么?i必须位于span标记内。

您需要使用parent()方法和prev()法来获取元素的前一个同级。

$(this).parent().remove();

这似乎对我有用。这是你想要的吗?

https://jsfiddle.net/ndva0rkz/

$("body").on("click", ".f", function(e){ 
  e.preventDefault();
  //$(this).prev("[data-id=foo_span]").remove();
  $(this).prev().remove();
});
<span data-id="foo_span">
  <i class="f" data-id="bar">icon 1</i>
  <i class="f">icon 2</icon>
</span>

使用parent()怎么样?

$("[data-id=bar]").click(function(e){
  e.preventDefault();
  $(this).parent().remove();
});