29

javascriptを使用してコードにul要素とli要素を作成しようとしています。私は以下を持っています:

var test=document.createElement('section');
test.setAttribute('id','test');

var ul=document.createElement('ul');


document.body.appendChild(test);
test.appendChild(ul);

for (var i=0; i<array.length; i++){

    var li=document.createElement('li');

    ul.appendChild(li);
    li.innerHTML=li.innerHTML + array[i];

}

私の配列はphpのjson_encodeを使用して解析されます

array[0]='aaa';
array[1]='bbb';
array[2]='ccc';

CSS

section { 

    display: block;
    width: 200px;
    margin: 50px auto;
    border: 3px solid red;

}

リストスタイルのドットがセクションタグの外側にあることを除いて、すべてが正常に機能します。

ChromeとIEではこのように表示されますが、Firefoxは正常に動作します。

 -------------
*| aaa       |
*| bbb       |
*| ccc       |
 -------------

セクションタグ内にドットが必要です。誰かアイデア?どうもありがとう。

4

4 に答える 4

36

これが私の作業コードです:

<!DOCTYPE html>
<html>
<head>
<style>
   ul#proList{list-style-position: inside}
   li.item{list-style:none; padding:5px;}
</style>
</head>
<body>
    <div id="renderList"></div>
</body>
<script>
    (function(){
        var ul = document.createElement('ul');
        ul.setAttribute('id','proList');

        productList = ['Electronics Watch','House wear Items','Kids wear','Women Fashion'];

        document.getElementById('renderList').appendChild(ul);
        productList.forEach(renderProductList);

        function renderProductList(element, index, arr) {
            var li = document.createElement('li');
            li.setAttribute('class','item');

            ul.appendChild(li);

            li.innerHTML=li.innerHTML + element;
        }
    })();
</script>
</html>

ここでjsfiddleの例を実行します

于 2015-08-07T09:03:28.923 に答える
5

CSSプロパティを使用しlist-style-positionて弾丸を配置します。

list-style-position:inside /* or outside */;
于 2012-07-05T19:26:27.263 に答える
2

以下のコードスニペットを試してください。

 var list = [];
 var text;

function update() {
    console.log(list);    

    for (var i = 0; i < list.length; i++) {
       console.log( i );
       var letters;
       var ul = document.getElementById("list");
       var li = document.createElement("li");

       li.appendChild(document.createTextNode(list[i]));
       ul.appendChild(li);

       letters += "<li>"  + list[i] + "</li>";
    }

 document.getElementById("list").innerHTML = letters;

}

function myFunction() {
    text = prompt("enter TODO");  
    list.push(text);
    update();
}   
于 2016-12-24T10:06:18.067 に答える
2

よりすごい。配列を受け取り、順序付けられたリストビュー/リストをdivタグ内に出力する単純な関数を作成しましょう。

ステップ1:「contentSectionID」IDのdivがあるとします。<div id="contentSectionID"></div>

ステップ2:次に、リストコンポーネントを返し、配列を受け取るjavascript関数を作成します。

function createList(spacecrafts){

var listView=document.createElement('ol');

for(var i=0;i<spacecrafts.length;i++)
{
    var listViewItem=document.createElement('li');
    listViewItem.appendChild(document.createTextNode(spacecrafts[i]));
    listView.appendChild(listViewItem);
}

return listView;
}

ステップ3:最後に、divを選択し、その中にリストビューを作成します。

document.getElementById("contentSectionID").appendChild(createList(myArr));
于 2017-08-10T05:57:52.537 に答える