andrewarnier
andrewarnier

Reputation: 177

how to dynamically create ul and li elements by for loop in javascript

I am trying to create ul and li element in my codes by using javascript. my javascript code :

 for (var i =0;i<locations.length;i++)
 {
     //how to dynamic create ul and li code as follow ul and li code?????

     }

ul and li code :

<li>
        <label for="Device"><SCRIPT LANGUAGE="JavaScript">  document.write("show javascript value like the the locations[i]")  </SCRIPT></label> <input type="checkbox" id="Device" /> 
        <ol>
            <li class="file"><a href="">File 1</a></li>
            <li>
                <label for="subfolder2">Subfolder 1</label> <input type="checkbox" id="subfolder2" /> 
                <ol>
                    <li class="file"><a href="">Subfile 1</a></li>
                    <li class="file"><a href="">Subfile 2</a></li>
                    <li class="file"><a href="">Subfile 3</a></li>
                    <li class="file"><a href="">Subfile 4</a></li>
                    <li class="file"><a href="">Subfile 5</a></li>
                    <li class="file"><a href="">Subfile 6</a></li>
                </ol>
            </li>
        </ol>
    </li>

Upvotes: 0

Views: 28113

Answers (3)

WASasquatch
WASasquatch

Reputation: 1044

I just answered a similar question, earlier, take a look at my example here using some of jQueries effects.

var list = $('#theList li:last-child'),
    limit = 20,
    current = 0;

function rand() {
    return Math.random().toString(36).substr(2); // Just for some random contnt
}

$('#trigger').click(function() { // We're using a static button to start the population of the list
        var end = setInterval(function() {
            if ( current == limit ) {
                current = 0;
                clearInterval(end);
            }
            list.append('<li style="display:none;color:green;">' + rand() + '</li>');
            var newList = $('#theList li:last-child');
            newList.fadeIn();
            var colorEnd = setInterval(function() {
                    newList.css('color', 'black');
                    clearInterval(colorEnd);
            }, 350);
            current =  current + 1;
        }, 300);
});

Upvotes: -1

Gopal Joshi
Gopal Joshi

Reputation: 2358

Please check Example

HTML

<li>
        <label for="Device"><SCRIPT LANGUAGE="JavaScript">  document.write("show javascript value like the the locations[i]")  </SCRIPT></label> <input type="checkbox" id="Device" /> 
        <ol>
            <li class="file"><a href="">File 1</a></li>
            <li>
                <label for="subfolder2">Subfolder 1</label> <input type="checkbox" id="subfolder2" /> 
                <div id='mi'></div>
            </li>
        </ol>

    </li>

JS

var text = '<ol>';
    for (var i =0;i<6;i++)
    {

             text = text + "<li class='file'><a href=''>Subfile " + i + "</a></li>";

    }
 text = text +'</ol>';

document.getElementById('mi').innerHTML=text; 

Here i have put <LI> in for loop in js and store it to variable then set it on div html.

Upvotes: 1

Soundar
Soundar

Reputation: 2589

Check here...

Script:

var ul = document.createElement("ul");
document.body.appendChild(ul);

for (var i = 1; i <= 10; i++)
{
    var li = document.createElement("li");  
    li.className = "file";

    var a = document.createElement("a");
    a.innerHTML = "Subfile " + i;

    li.appendChild(a);
    ul.appendChild(li);
}

like this you can create your desired order..

Upvotes: 9

Related Questions