2012-04-25 121 views
1

我试图添加一个数组到网页。我已经尝试了几个不同的代码片段,但没有一个能够工作。我想输出是类似像一个列表:将javaScript数组添加到HTML页面?

的text1

文本2

文字3 ...

到目前为止,我所使用的代码是:

var i; 
var test = new Array(); 
test[0] = "text1"; 
test[1] = "text2"; 
test[2] = "text3"; 

// first attempt 
$('#here').html(test.join(' ')); 

// second attempt 
$(document).ready(function() { 
    var testList=""; 
    for (i=0;i<test.length; i++) { 
     testList+= test[i] + '<br />'; 
    } 
    $('#here').html('testList'); 
    songList=""; 
}); 

我对javaScript非常陌生,所以我不确定我是否犯了一个小错误,或者如果我以错误的方式做这件事。此外,以上是我的javaScript文件中的所有代码的副本,一些网上的地方说我需要导入一些东西?我不确定!
感谢

+0

您是否在JavaScript控制台中收到任何错误消息?你是否包含jQuery库? – 2012-04-25 13:03:41

+2

与问题无关,但这是创建数组的一个肮脏的方法。只需使用'var test = [“text1”,“text2”,“text3”];' – 2012-04-25 13:05:07

回答

0

你有什么作品,如果你从testList删除单引号。但是,如果你想要一个实际的无序列表,你可以这样做。 (here's a jsFiddle

var test = new Array(); 
test[0] = "text1"; 
test[1] = "text2"; 
test[2] = "text3"; 

// first attempt 
$('#here').html(test.join(' ')); 

// second attempt 
$(document).ready(function() { 
    var testList=$("<ul></ul>"); 
    for (var i=0;i<test.length; i++) { 
     $(testList).append($("<li></li>").text(test[i])); 
    } 
    $('#here').html(testList); 
    songList=""; 
}); ​ 
6

尝试不带引号:

$('#here').html(testList); 

- 或 -

$('#here').html(test.join('<br />')); 

另一种方法:

var html = '';         // string 
$.each(test,function(i,val){      // loop through array 
    var newDiv = $('<div/>').html(val);   // build a div around each value 
    html += $('<div>').append(newDiv.clone()).remove().html(); 
     // get the html by 
     // 1. cloning the object 
     // 2. wrapping it 
     // 3. getting that html 
     // 4. then deleting the wrap 
     // courtesy of (http://jquery-howto.blogspot.com/2009/02/how-to-get-full-html-string-including.html) 
}); 

$('#here').html(html); 

有可能是莫在后者中重新编写代码,但是如果您想添加ID,类或其他属性,从长远来看它会更干净。只需将其粘贴在一个函数中并修改jQuery即可。

4

尝试改变线

$('#here').html('testList') 

$('#here').html(testList) 
+1

重复的答案:http://stackoverflow.com/a/10316269/782746 – binarious 2012-04-25 13:05:10

+0

vol7ron有点快;) – binarious 2012-04-25 13:06:21

+0

@Scott vol7ron第一次进入。 – 2012-04-25 13:06:32

0

这条线:

$('#here').html('testList'); 

不应该有单引号括起来testList - 要使用的内容该变量,而不是字符串文字“testList”。

0

变量不要作为一个字符串传递:$('#here').html('testList');它传递不带引号:$('#here').html(testList);

0

这里是最简单的版本:

$(document).ready(function() { 
    var test = ["text1", "text2", "text3"]; 
    $('#here').html(test.join("<br>")); 
});