根据Javascript函数替换HTML内容
我想显示关于变量状态的不同HTML元素 在我的HTML文件中,我有:根据Javascript函数替换HTML内容,javascript,jquery,html,web,Javascript,Jquery,Html,Web,我想显示关于变量状态的不同HTML元素 在我的HTML文件中,我有: <div id="dustbinstatus"></div> 在我的JS文件中,我有: if (message.payloadString == "full"){ $('#dustbinstatus').append('<i class="material-icons">delete</i>'); } else if (message.payloadStrin
<div id="dustbinstatus"></div>
在我的JS文件中,我有:
if (message.payloadString == "full"){
$('#dustbinstatus').append('<i class="material-icons">delete</i>');
}
else if (message.payloadString == "empty"){
$('#dustbinstatus').append('<p> Dustbin ok </p>');
}
if(message.payloadString==“full”){
$('#dustbinstatus')。追加('delete');
}
else if(message.payloadString==“empty”){
$(“#垃圾箱状态”)。附加(“垃圾箱正常””);
}
message.payloadString变量可以使用WebSocket动态更改。
在这个例子中,它可以工作,但它只是在每次状态更改时添加一个新行,我希望替换一行,并根据状态进行更改
有办法吗
谢谢大家!
Olivia如果要替换DOM元素的内容,必须使用jQuery的函数(类似于JS的innerHtml),如下所示:
$('#dustbinstatus').html('<p> Dustbin ok </p>');
$('#dustbinstatus').html('dustbinok');
如果要替换DOM元素的内容,必须使用jQuery的函数(类似于JS的innerHtml),如下所示:
$('#dustbinstatus').html('<p> Dustbin ok </p>');
$('#dustbinstatus').html('dustbinok');
使用html()
而不是append()
Append用于将Dom元素
追加到现有元素的末尾
1st:您可以使用html()
使用html()
而不是append()
Append用于将Dom元素
追加到现有元素的末尾
1st:您可以使用html()
使用.html
更改.append
函数
Append
简单地解释它自己,它将附加到它所包含的内容
Html
将替换所选元素内部的整个Html部分。更改。使用.Html
附加函数
Append
简单地解释它自己,它将附加到它所包含的内容
Html
将替换所选元素内部的整个Html部分。在添加新行之前,应删除先前创建的行。大概是这样的:
$('#dustbinstatus').empty();
if (message.payloadString == "full"){
$('#dustbinstatus').append('<i class="material-icons">delete</i>');
}
else if (message.payloadString == "empty"){
$('#dustbinstatus').append('<p> Dustbin ok </p>');
}
$(“#垃圾箱状态”).empty();
如果(message.payloadString==“full”){
$('#dustbinstatus')。追加('delete');
}
else if(message.payloadString==“empty”){
$(“#垃圾箱状态”)。附加(“垃圾箱正常””);
}
在添加新行之前,您应该删除以前创建的行。大概是这样的:
$('#dustbinstatus').empty();
if (message.payloadString == "full"){
$('#dustbinstatus').append('<i class="material-icons">delete</i>');
}
else if (message.payloadString == "empty"){
$('#dustbinstatus').append('<p> Dustbin ok </p>');
}
$(“#垃圾箱状态”).empty();
如果(message.payloadString==“full”){
$('#dustbinstatus')。追加('delete');
}
else if(message.payloadString==“empty”){
$(“#垃圾箱状态”)。附加(“垃圾箱正常””);
}
$('dustbinstatus').html('')//在追加之前清空现有dom
如果(message.payloadString==“full”){
$('#dustbinstatus')。追加('delete');
}else if(message.payloadString==“empty”){
$(“#垃圾箱状态”)。附加(“垃圾箱正常””);
}
$('dustbinstatus').html('')//在追加之前清空现有dom
如果(message.payloadString==“full”){
$('#dustbinstatus')。追加('delete');
}else if(message.payloadString==“empty”){
$(“#垃圾箱状态”)。附加(“垃圾箱正常””);
}
问题是您正在追加元素,因此它会在末尾追加元素,因此每次都会得到一行新行
您可以通过以下两种方式进行:
- 您可以将display设置为none,并添加一个类active,以显示元素,而不是追加
var message=“full”;
如果(消息==“已满”){
$('.material icons').attr('class','active');
$('dustbinstatus p').attr('class','notactive');
}
else if(消息==“空”){
$('#dustbinstatus p').attr('class','active');
$('.material icons').attr('class','notactive');
}
.active{
显示:块;
}
.不活跃{
显示:无;
}
删除
垃圾箱没问题
问题是您正在追加元素,因此它会在末尾追加元素,因此每次都会得到一行新行
您可以通过以下两种方式进行:
- 您可以将display设置为none,并添加一个类active,以显示元素,而不是追加
var message=“full”;
如果(消息==“已满”){
$('.material icons').attr('class','active');
$('dustbinstatus p').attr('class','notactive');
}
else if(消息==“空”){
$('#dustbinstatus p').attr('class','active');
$('.material icons').attr('class','notactive');
}
.active{
显示:块;
}
.不活跃{
显示:无;
}
删除
垃圾箱没问题
使用html()代替append()可能重复使用html()代替append()可能重复使用
$('#dustbinstatus').html('');//blank existing dom before append
if (message.payloadString == "full"){
$('#dustbinstatus').append('<i class="material-icons">delete</i>');
} else if (message.payloadString == "empty"){
$('#dustbinstatus').append('<p> Dustbin ok </p>');
}