如果等于变量,则删除节点子节点

Remove Node child if equals variable

我正在尝试删除一个 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 语句总是会结果为真,因为它正在测试一个 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>