我必须集成几个html类型标签(例如:<div id = "mysection"> <div class = "mycontainer"> <h1> mytitle </h1> </div> </div>
)以格式化以javascript输出的数据(此处为“ mytitle”)
因此,我的HTML <span id="datahere"></span>
中有
我需要编辑的js是:
function Bigdata(title, subtitle, type) {
const mydata = document.getElementById('datahere');
mydata.innerHTML += title + subtitle + (type ? ' <strong>(type is ' + type + ')</strong>' : '') +'<br/>';
}
// element in which the data is initialized, visible in another <span>
const sprit = document.getElementById('sprit');
// when a given message is received
sprit.addEventListener(SpritEvents.MessageSprit, ({ data }) => {
Bigdata('Sprit', data.text, data.type);
// if there are actions, we offer links
if (data.actions) {
var links = '';
for (var i = 0; i < data.actions.length; i++) {
if (i > 0) {
links += ', ';
}
let act = data.actions[i];
links += '<a data-val="' + act.value + '">' + act.title + '</a>';
}
Bigdata('Sprit', links);
}
});
如果有操作,我无法集成必须“包含”数据(标题,字幕,类型)WHITH链接的标签...
如果我添加这样的标签: mydata.innerHTML += '<div id = "mysection"> <div class = "mycontainer"><h1>' + title + '</h1>' + subtitle + (type ? ' <strong>(type =' + type + ')</strong>' : '') +'<br/></div></div>';
如果不围绕整个div,则div和h1是重复的(在一侧标题,副标题,类型和另一链接上环绕)。
我不习惯使用纯Javascript ...希望您能为我提供帮助
答案 0 :(得分:1)
我建议使用模板文字重写它:
mydata.innerHTML += `<h1>${title}</h1>`;
有关此主题的更多信息: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
这使事情看起来更轻。
此外,您似乎没有关闭html标签。例如:<div>
,需要用</div>