jQuery从嵌套删除图像中获取li

时间:2014-03-27 16:41:50

标签: javascript jquery

我非常接近解决这个问题,但我似乎无法从我的<li>获取外部html。

我将<li>添加到<ul>这样的

    function addTab() {
        tabs.append('<li class="navHighlight">' 
                         + '<a href="#">' 
                         + title 
                         + '</a>' 
                         + '<a href="#">' 
                         + '<img src="images/delete.png" class="deleteImage"/>' 
                         + '</a>' 
                         + '</li>');
    };

然后我试图用这个删除它们

$("body").on("click", ".deleteImage", function (e) {
    var removeItem = $(this).closest('li').html(); // problem
    console.log(removeItem);
    listItems = jQuery.grep(listItems, function (value) {
        console.log(value);
        return value != removeItem;
    });
});

但问题是,我的删除项变量具有此值

<a href="#">Test</a><a href="#"><img src="images/delete.png" class="deleteImage" style="display: inline;"></a>

我需要它也有外部html值,就像这个

<li><a href="#">Test</a><a href="#"><img src="images/delete.png" class="deleteImage"/></a></li>

我最初分配给名为“navHighlight”的<li>的类值此时将被删除,因为它仅用于审美目的。单击另一个<li>项时切换,以便该参考点在窗口外。我尝试了很多不同的东西,但我似乎无法抓住外部的html <li>标签。

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您也可以使用outerHTML获取外部包装器li

var removeItem = $(this).closest('li')[0].outerHTML;