我非常接近解决这个问题,但我似乎无法从我的<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>
标签。
感谢任何帮助。
答案 0 :(得分:1)
您也可以使用outerHTML
获取外部包装器li
:
var removeItem = $(this).closest('li')[0].outerHTML;