删除prevAll:第一个使用jQuery的项目

时间:2012-09-07 19:25:16

标签: javascript jquery client-side

我的代码中出了什么问题:

  $.each($("input[value='"+id+"']"), function(index, value) {
            alert($(this).val());
            $("input[value='"+$(this).val()+"']").prevAll('.t-item:first').remove();
        });

Html架构:

Html Schema

p.s我正在做'每个',因为我在我的页面上的其他地方有相同的HTML,所以我想从这两个地方删除

在这个html示例中,我的id是249或293

4 个答案:

答案 0 :(得分:3)

从标记看,您似乎正在尝试删除输入的<li class="t-item">祖先,在这种情况下使用.closest()

    $.each($("input[value='"+id+"']"), function(index, value) {
        alert($(this).val());
        $(this).closest('.t-item').remove();
    });

答案 1 :(得分:1)

尝试:

$(this).closest('.t-item').remove();

代替:$("input[value='"+$(this).val()+"']").prevAll('.t-item:first').remove();

http://api.jquery.com/closest

答案 2 :(得分:1)

你可以尝试:

  $.each($("input[value='"+id+"']"), function(index, value) {
            alert($(this).val());
            $(this).closest('.t-item').remove();
        });

http://api.jquery.com/closest/

Get the first element that matches the selector, beginning at the current element and progressing up through the DOM tree.

答案 3 :(得分:0)

$("input[value="+id+"]").closest('.t-item').remove();