如何正确使用jquery prev?

时间:2016-07-27 18:43:06

标签: javascript jquery ruby-on-rails

如何使用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标记内。

3 个答案:

答案 0 :(得分:1)

您需要使用 parent() 方法并使用 prev() 方法来获取元素的前一个兄弟。

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

答案 1 :(得分:0)

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

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>

答案 2 :(得分:0)

使用parent()怎么样?

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