如果等于变量,则删除节点子节点
Remove Node child if equals variable
我正在尝试删除一个 li 节点,如果它等于一个特定的变量。
例如
- 如果用户名 == 用户 1
- 如果节点等于用户 1
那我想删除这个节点。我无法为节点设置 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>
我正在尝试删除一个 li 节点,如果它等于一个特定的变量。 例如
- 如果用户名 == 用户 1
- 如果节点等于用户 1
那我想删除这个节点。我无法为节点设置 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>