.append()将html添加为文本

时间:2017-03-02 09:02:09

标签: javascript jquery html append

我使用javascript将html添加到我的脸上。 我制作了一个围绕所有项目的循环。有多个项目,每个项目都有多张图片。

第一部分在div中创建第一个projecttitle,获取id(项目名称)和第一张图片。

$( ".projectbeeldcontainer" ).append(


'</div>'+
     '<h1 class="projecttitel" id="'+name+'">'+name+'</h1>'+
     '<div class="row dashboardrow" id="'+name+'id">'+
      '<div class="col-sm-2">'+
        '<div class="thumbnail">'+
            '<a href="/w3images/lights.jpg">'+
              '<img src="projectbeelden/'+name+'/'+decodeURI(image)+'" class="img-rounded">'+
            '</a>'+
            '<div class="caption tags">'+
                '<p>titel van project</p>'+
            '</div>'+
        '</div>'+
      '</div>';

    );

此后,脚本将检查下一个图像的项目名是否已经存在。如果它确实存在(因为我们用上面的代码添加它),那么它将在我们创建的项目div中插入一个新的div:

document.getElementById(name+'id').append(


'<div class="col-sm-2">'+
        '<div class="thumbnail">'+
            '<a href="/w3images/lights.jpg">'+
              '<img src="projectbeelden/'+name+'/'+decodeURI(image)+'" class="img-rounded">'+
            '</a>'+
            '<div class="caption tags">'+
                '<p>titel van project</p>'+
            '</div>'+
        '</div>'+
      '</div>'




      );

我现在遇到的问题是第一行代码成功创建了div和图像。第二个代码适用于98%。

它确实识别带有id的div并将内容放入其中。但问题是它在我的第一行之前和之后添加了引号。所以看起来它认为它是一个字符串而不是HTML。

所以它几乎没有添加&#34;

有人可以帮我吗?对不起拼写错误和语法错误。

4 个答案:

答案 0 :(得分:3)

使用innerHTML而不是追加。

vue-tables-2

追加添加一个textNode。通过生成并插入DOM,更好的方法就是这样:

document.getElementById(name+'id').innerHTML += "<div> put your html </div>";

答案 1 :(得分:0)

问题是你实际上是在告诉它将一个字符串附加到DOM,你没有创建一个可以插入的元素。

如果你在jQuery包装器$('<div class="col-sm-2">....</div>');中包装你想要追加的html,那么它将被jQuery视为一个jQuery对象,然后应该能够插入到你需要的庄园中

答案 2 :(得分:0)

样本

var insertData = '<div class="col-sm-2">'+
        '<div class="thumbnail">'+
            '<a href="/w3images/lights.jpg">'+
              '<img src="" class="img-rounded">'+
            '</a>'+
            '<div class="caption tags">'+
                '<p>titel van project</p>'+
            '</div>'+
        '</div>'+
      '</div>';
 document.getElementById('a').innerHTML = insertData;
<div id="a"></div>

答案 3 :(得分:0)

您只能在代码中使用self.cmbSortOrder=ttk.Combobox(self.frame2, value=l, textvariable=self.SortOrder) self.cmbSortOrder.bind("<<ComboboxSelected>>", self.reloadList) self.cmbSortOrder.pack(side=LEFT) &lt;而不是“ <”和“>”。浏览器不会将此字符串识别为html代码,而将其打印为纯文本。