javascript:使用innerHTML插入html标签

时间:2020-07-20 14:25:30

标签: javascript html insert innerhtml

我必须集成几个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 ...希望您能为我提供帮助

1 个答案:

答案 0 :(得分:1)

我建议使用模板文字重写它:

mydata.innerHTML += `<h1>${title}</h1>`;

有关此主题的更多信息: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals

这使事情看起来更轻。

此外,您似乎没有关闭html标签。例如:<div>,需要用</div>

关闭