jQuery .append在我的函数中不起作用

时间:2016-04-17 15:29:13

标签: javascript jquery html

我是javascript和jquery的新手。

我正在尝试从javascript函数中添加html。

要将y的内容放在特定位置,我要添加div标签" Contacts"并试图将元素附加到它。

但是" y"的内容没有显示。

我的代码:

componentHtml += "<div id = Contacts>";
var y = [ 1, 2, 3 ];
$("#Contacts").append(y);
componentHtml += "</div>

2 个答案:

答案 0 :(得分:2)

执行componentHtml时,

$("#Contacts").append(y);只是一个字符串。因为它只是一个字符串 - 你的DOM中没有#Contacts元素。因此$("#Contacts")找到没有

最简单的解决方案是使用join,例如:

componentHtml += "<div id = Contacts>";
var y = [ 1, 2, 3 ];
componentHtml += y.join("<br />");   // or any other delimiter
componentHtml += "</div>

答案 1 :(得分:2)

您的代码存在一些问题。

  1. "<div id = Contacts>"应为'<div id="Contacts">'
  2. 您尝试$("#Contacts").append(y);,但您的div尚未在DOM中。
  3. 您尝试将一组数字附加到div中。 .append不起作用。
  4. 以下代码解决了这些问题:

    var contacts = $('<div>', { id: 'Contacts' });
    
    var y = [ 1, 2, 3 ];
    
    var content = y.join();
    
    contacts.html(content);
    
    $('body').append(contacts);
    

    查看.join([separator])以查看不同的输出示例。