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

最も単純なバージョンは次のとおりです。

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

変数を文字列として渡さないでください:$('#here').html('testList');引用符なしで渡します:$('#here').html(testList);

于 2012-04-25T13:04:54.153 に答える
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 に答える