问题描述
如果 li 节点等于特定变量,我将尝试删除它。 例如
然后我想删除这个节点。我无法为节点设置 ID。这是设置子节点的代码。
$('#typing').append($('<li>').text(username + "is drawing..."));
if ($('<li>'.text == username + " is drawing...")){
console.log("its the same!");
$("<li>").remove();
prev_username = "";
}
});
在这段代码中,它打印出“相同”,因此它只是实际删除节点的操作。任何人都可以帮助我解决这个问题,我将不胜感激。 谢谢:)
解决方法
您的 if 语句将始终为 true,因为它正在测试一个 jQuery 对象,无论它如何构造都是真实的。
您可以使用像 contains 这样的选择器来查找您要查找的 li。
var username = 'Jefferey John Smith';
$('#typing').append($('<li>').text(username + " is drawing..."));
$('button').click(function(){
$('li:contains('+ username + ' is drawing...)').remove();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul id="typing">
<li>Musa is typing...
</ul>
<button>Clear Jefferey John Smith</button>