1
var localPlaceholder = document.getElementById('localFiles');
                for (i=0; i<entries.length; i++) {
                        var newList = document.createElement( "li" );
                        newList.nodeValue = entries[i].name;
                        localPlacholder.appendChild(newList);
                }

これは意味がありますか?何らかの理由で、何も追加されていません。ただし、アラートボックスを使用してデバッグすると、entries[i].nameは値を返します。

編集:localFilesはULです

4

3 に答える 3

2

あなたは簡単にできます:

var localPlaceholder = document.getElementById('localFiles');
var newList = '';

for (i = 0; i < entries.length; i++) {
    newList += '<li>' + entries[i].name + '</li>';
}

localPlaceholder.innerHTML += newList;

DOM操作のインスタンスが少なくなります。

編集: http: //jsfiddle.net/matthewbj/ZyU8h/を検討してください

于 2012-04-24T18:56:05.787 に答える
1

それ以外の:

newList.nodeValue = entries[i].name;

試す:

newList.innerHTML = entries[i].name;
于 2012-04-24T18:50:36.390 に答える
0

テキストノードでない限り、メソッドnodeValueを使用してhtml要素にテキストを直接追加することはできません(LIはテキストノードではありません)。テキストノードを作成してからhtml要素に追加する必要があります。そうでない場合は、単にinnerHTMLを使用できます。

http://reference.sitepoint.com/javascript/Node/nodeValue

変更してみてください

newList.nodeValue = entries[i].name;

newList.appendChild(document.createTextNode(entries[i].name);
于 2012-04-24T19:07:09.023 に答える