如何使用javascript删除上一个元素
在检查ff元件时,显示:如何使用javascript删除上一个元素,javascript,jquery,Javascript,Jquery,在检查ff元件时,显示: <div class="col-md-9" style="padding-top:7px;"> <%= week_calendar number_of_weeks: 4, events: @food_plans do |date, food_plans| %> <%= date.day %> <%= link_to '+', food_plans_path(abc: date),:method=> :post,:s
<div class="col-md-9" style="padding-top:7px;">
<%= week_calendar number_of_weeks: 4, events: @food_plans do |date, food_plans| %>
<%= date.day %>
<%= link_to '+', food_plans_path(abc: date),:method=> :post,:style=>"color:black;visibility:visible;float:right;font-weight:700;font-size:17px;",:class=>"linkplus"%>
<% food_plans.each do |food_plan| %>
<%if food_plan!=nil%>
<%= link_to 'x', food_plan,:style=>"color:black;visibility:visible;float:right;font-weight:700;font-size:14px;",:class=>"linkx", method: :delete, data: { confirm: 'Are you sure?' } %>
<%end%>
<div >
<!-- Displays proper collection select-->
<%if food_plan.meal==nil%>
<%=collection_select(:post, :food_plan_id, Meal.all, :name, :name, {prompt: '---'}, {:id=>"fsel", :onchange=>"window.location='#{meal_select_path(food_plan.id)}?meal=' + this.value"})%>
<%else%>
<%=collection_select(:post, :food_plan_id, Meal.all, :name, :name, {selected: food_plan.meal}, {:id=>"fsel", :onchange=>"window.location='#{meal_select_path(food_plan.id)}?meal=' + this.value"})%>
<%end%>
</div>
<%end%>
<% end %>
</div>
我只想删除linkplus
前面的linkx
显示的代码删除linkplus
元素之前或之后的元素,而不是这些元素本身
以下是如何完成您在上述引用声明中提出的要求:
<a style="color:black;visibility:visible;float:right;font-weight:700;font-size:17px;" class="linkplus" rel="nofollow" data-method="post" href="/food_plans?abc=2016-05-09">+</a>
<a style="color:black;visibility:visible;float:right;font-weight:700;font-size:14px;" class="linkx" data-confirm="Are you sure?" rel="nofollow" data-method="delete" href="/food_plans/7">x</a>
您确定
$('.linkplus')
有上一个元素吗?也许您可以为此添加html。请显示生成的html,而不是服务器端代码。您发布的代码将删除以前的元素,前提是它有一个。您可以(也应该)通过首先运行console.log($('.linkplus').prev().length)来调试它
在其中放置一个断点,然后在控制台中尝试$('.linkplus').prev(),查看它返回的内容。在html中,第一个
标记是linkplus
,因此它没有前面的元素。因此,.prev().remove()
没有做任何事情,这与预期相符。您能否指出这是否回答了您的问题?
<script type="text/javascript">
$(document).ready(function(){
$('.linkplus').prev().remove();
});
</script>
<%= link_to '+', food_plans_path(abc: date),:method=> :post,:style=>"color:black;visibility:visible;float:right;font-weight:700;font-size:17px;",:class=>"linkplus"%>
<div class="col-md-9" style="padding-top:7px;">
<%= week_calendar number_of_weeks: 4, events: @food_plans do |date, food_plans| %>
<%= date.day %>
<%= link_to '+', food_plans_path(abc: date),:method=> :post,:style=>"color:black;visibility:visible;float:right;font-weight:700;font-size:17px;",:class=>"linkplus"%>
<% food_plans.each do |food_plan| %>
<%if food_plan!=nil%>
<%= link_to 'x', food_plan,:style=>"color:black;visibility:visible;float:right;font-weight:700;font-size:14px;",:class=>"linkx", method: :delete, data: { confirm: 'Are you sure?' } %>
<%end%>
<div >
<!-- Displays proper collection select-->
<%if food_plan.meal==nil%>
<%=collection_select(:post, :food_plan_id, Meal.all, :name, :name, {prompt: '---'}, {:id=>"fsel", :onchange=>"window.location='#{meal_select_path(food_plan.id)}?meal=' + this.value"})%>
<%else%>
<%=collection_select(:post, :food_plan_id, Meal.all, :name, :name, {selected: food_plan.meal}, {:id=>"fsel", :onchange=>"window.location='#{meal_select_path(food_plan.id)}?meal=' + this.value"})%>
<%end%>
</div>
<%end%>
<% end %>
</div>
<a style="color:black;visibility:visible;float:right;font-weight:700;font-size:17px;" class="linkplus" rel="nofollow" data-method="post" href="/food_plans?abc=2016-05-09">+</a>
<a style="color:black;visibility:visible;float:right;font-weight:700;font-size:14px;" class="linkx" data-confirm="Are you sure?" rel="nofollow" data-method="delete" href="/food_plans/7">x</a>
$('.linkx').prev('.linkplus').remove();