我正在尝试删除动态创建的DOM元素,由于某种原因我无法让它工作。
它正在使用我指定的ID创建对象,但它不会删除
检查if
语句是有效的,因为它打印出console.log()
。
有什么想法吗?
function displayLive()
{
var previous = null;
var current = null;
setInterval(function()
{
$.ajax({
url: '/showLive',
dataType: 'json',
contentType: 'application/json',
success: function(response)
{
current = JSON.stringify(response);
if(previous !== current)
{
var obj = JSON.parse(response);
console.log(obj);
for(var i = 0; i < obj.active.length; i++)
{
if(obj.active[i].active === true)
{
$('.left').prepend($('<div/>', {class: 'profTemp', id: obj.active[i].userNameData}).append(
$('<img/>', {src: obj.active[i].profiler, width: 40, height: 40}),
$('<span/>', {text: " " + obj.active[i].userNameData})));
}
else if(obj.active[i].active === false)
{
$('#%s' , obj.active[i].userNameData).remove();
console.log("getting in false");
}
}
}
}
});
previous = current;
}, 2000);
}
答案 0 :(得分:2)
用户名中有一个点(或其他选择字符)。使用
$(document.getElementById(obj.active[i].userNameData)).remove()
绕过那个。
答案 1 :(得分:0)
尝试改变:
$('#' + obj.active[i].userNameData).remove();
致:
<td data-url="/subjects/update/{{$subject->id}}" data-id="{{$subject->id}}" data-type="text" data-name="{{$subject->name}}" class="name" data-pk="{{$subject->id}}">{{$subject->name}}</td>