0

我在我的代码中做错了什么:

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

html架构:

Html 架构

ps 我在做“每个”,因为我在页面的其他地方有相同的 html,所以我想从这两个地方删除

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

4

4 回答 4

3

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

    $.each($("input[value='"+id+"']"), function(index, value) {
        alert($(this).val());
        $(this).closest('.t-item').remove();
    });
于 2012-09-07T19:31:01.343 回答
1

尝试:

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

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

http://api.jquery.com/closest

于 2012-09-07T19:32:09.733 回答
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.

于 2012-09-07T19:32:13.237 回答
0
$("input[value="+id+"]").closest('.t-item').remove();
于 2012-09-07T20:11:57.397 回答