Javascript 如何使用append筛选字符串

Javascript 如何使用append筛选字符串,javascript,jquery,html,Javascript,Jquery,Html,我有一个变量payload,它来自mqtt message.payloadString,我像这样附加它$(“#sisu”).append(“+payload+”)现在我有多个跨距如何筛选出特定数据? 我想用javascript过滤掉信号:-55,这样以后我可以有一个单独的信号:-55。我是否应该使用新id创建每个新的跨度线?或者有其他的方法来解决这个问题吗 有效载荷 var payload= "Online 111:220:9 info 111:220:9 Connected FW bui

我有一个变量
payload
,它来自mqtt message.payloadString,我像这样附加它
$(“#sisu”).append(“+payload+”)现在我有多个跨距如何筛选出特定数据?

我想用javascript过滤掉
信号:-55
,这样以后我可以有一个单独的信号:-55。我是否应该使用新id创建每个新的跨度线?或者有其他的方法来解决这个问题吗

有效载荷

 var payload= "Online  111:220:9
info  111:220:9
Connected FW build date: May  5 2017 10:56:36  111:222:9
WIFI AP SSID: :), BSSID: Q8:2G:63:14:61:40, SIGNAL: -55  121:250:1
WIFI interface mode: 11N, MAC: 1A:CH:7F:12:03:995  111:220:5
IP: 179.19.199.199, MASK: 255.255.255.0, GW: 179.19.111.259 "
结果

$("#sisu").append('<span id="koikpay">' + payload+ '</span>');

<span id="koikpay">Online  111:920:9</span>
<span id="koikpay">info  191:220:9</span>
<span id="koikpay">Connected FW build date: May  5 2017 10:56:36  111:290:9</span>
<span id="koikpay">WIFI AP SSID: :), BSSID: F9:1A:67:99:19:99, SIGNAL: -55  111:220:9</span>
<span id="koikpay">WIFI interface mode: 11N, MAC: 9C:C9:7F:1F:99:55  111:220:9</span>
<span id="koikpay">IP: 179.19.199.199, MASK: 255.255.255.0, GW: 179.19.111.259</span>
$(“#sisu”)。追加(“”+有效负载+“”);
在线111:920:9
信息191:220:9
连接FW建造日期:2017年5月5日10:56:36 111:290:9
WIFI AP SSID:),BSSID:F9:1A:67:99:19:99,信号:-55 111:220:9
WIFI接口模式:11N,MAC:9C:C9:7F:1F:99:55 111:220:9
IP:179.19.199.199,掩码:255.255.255.0,GW:179.19.111.259
假设您有:

var payload= `Online  111:220:9
info  111:220:9
Connected FW build date: May  5 2017 10:56:36  111:222:9
WIFI AP SSID: :), BSSID: Q8:2G:63:14:61:40, SIGNAL: -55  121:250:1
WIFI interface mode: 11N, MAC: 1A:CH:7F:12:03:995  111:220:5
IP: 179.19.199.199, MASK: 255.255.255.0, GW: 179.19.111.259`;
从拆分开始:

payload = payload.split("\n").map(s => s.trim())

然后再次迭代,提取所需的任何数据。

使用带回号“`”的模板字符串文本。您可以使用新行拆分它,然后迭代它以放入DOM:

var-payload=`Online 111:220:9
信息111:220:9
连接FW构建日期:2017年5月5日10:56:36 111:222:9
WIFI AP SSID:),BSSID:Q8:2G:63:14:61:40,信号:-55 121:250:1
WIFI接口模式:11N,MAC:1A:CH:7F:12:03:995 111:220:5
IP:179.19.199.199,掩码:255.255.255.0,GW:179.19.111.259`;
var arr=有效载荷分割(/\n/g);
arr.forEach((项目)=>{
document.body.innerHTML+=''+项目+''
});
.koikpay{
颜色:红色;

}
请参阅小提琴

请遵循下面的代码,使用类而不是id将负载显示为数组字符串

$(文档).ready(函数(){
var payload=`在线111:220:9
信息111:220:9
连接FW构建日期:2017年5月5日10:56:36 111:222:9
WIFI AP SSID:),BSSID:Q8:2G:63:14:61:40,信号:-55 121:250:1
WIFI接口模式:11N,MAC:1A:CH:7F:12:03:995 111:220:5
IP:179.19.199.199,掩码:255.255.255.0,GW:179.19.111.259`;
var数组=有效载荷。拆分(/\n/g);
$。每个(数组、函数(i){
//警报(数组[i]);
$(“#sisu”).append(“”+array[i]+“”);
if(数组[i]。包括(“信号”)){
var array1=数组[i]。拆分(/[,]+/);
$。每个(阵列1,功能(i){
if(阵列1[i]。包括(“信号”)){
//警报(阵列1[i]);
var array2=array1[i]。拆分(“”);
$。每个(阵列2,功能(i){
if(array2[i]。包括(“信号”)){
$(“#信号”).append(“+array2[i]”);
}
});
}
});
}
});
});


首先,不要让多个元素具有相同的
id
id=“koikpay”
)而不是
id
使用
class
如:-
Online 111:920:9…等等,对于其他的
仍然。。我怎样才能过滤掉数据,比如信号?可以更改每个有效负载的类,如arr.forEach((item)=>{sa++;ss=ss+sa;document.body.innerHTML++=''+item++});尽管如此,嘿,我已经发布了完整的代码,包括要获取的信号数据。希望这能帮助你…我仍然有问题,它不工作,因为payload(var payload=message.payloadString;)是一个mqtt.js变量,我无法将其转换为backticks变量。不,我得到了它1:)谢谢你的回复