3

我正在尝试将数组添加到网页。我尝试了下面显示的一些不同的代码,但它们都不起作用。我希望输出类似于以下列表:

文本1

文本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 文件中所有代码的副本,网上有些地方说我需要导入一些东西?我不知道!
谢谢

4

6 回答 6

7

尝试不带引号:

$('#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。

于 2012-04-25T13:03:38.187 回答
4

换行试试

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

$('#here').html(testList)
于 2012-04-25T13:04:20.520 回答
0

这一行:

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

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

于 2012-04-25T13:04:30.190 回答
0

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

于 2012-04-25T13:04:54.153 回答
0

这是最简单的版本:

$(document).ready(function() {
    var test = ["text1", "text2", "text3"];
    $('#here').html(test.join("<br>"));
}); 
于 2012-04-25T13:06:29.610 回答
0

如果您从testList. 但是,如果您想要一个实际的无序列表,您可以这样做。(这是一个 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="";
}); ​
于 2012-04-25T13:11:11.203 回答