Create HTML table from javascript array

前端 未结 3 1857
野趣味
野趣味 2020-12-31 19:00

I want to get all classes of the HTML element on my page, split it and store it in array. After that I want to write it into my table in the div with the id \"table\" which

相关标签:
3条回答
  • 2020-12-31 19:39

    It is not clear if you want the class names per row or per column. These examples are one class name per row. Try this:

    var elm = $('#test'),
        table = $('<table>').appendTo(elm);
    
    $(document.documentElement.className.split(' ').each(function() {
        table.append('<tr><td>'+this+'</td></tr>');
    });
    

    I used native code to get the classNames of the HTML element: document.documentElement.className, but you might as well use $('html').attr('class').

    A native JS example using innerHTML:

    var d = window.document,
        elm = d.getElementById('test'),
        html = '<table>',
        classes = d.documentElement.classNames.split(' '),
        i = 0;
    
    for(; classes[i]; i++) {
        html += '<tr><td>' + classes[i] + '</td></tr>';
    }
    
    elm.innerHTML = html + '</table>;
    
    0 讨论(0)
  • 2020-12-31 19:40

    if you have a table already in the html

    <div id="test><table >
        </table>
    </div>  
    

    you can simply append new rows to it,

    var string = $('html').attr('class');
    var array = string.split(' ');
    var arrayLength = parseInt(array.length);
    
    for (i=0; i<=arrayLength; i++) {
      $("#test table") .append('<tr><td>'+array[i]+'</td></tr>') 
    }
    
    0 讨论(0)
  • 2020-12-31 19:53

    If you're trying to remove jQuery altogether use this:

    // Get array of classes without jQuery
    var array = document.getElementsByTagName('html')[0].className.split(/\s+/);
    
    var arrayLength = array.length;
    var theTable = document.createElement('table');
    
    // Note, don't forget the var keyword!
    for (var i = 0, tr, td; i < arrayLength; i++) {
        tr = document.createElement('tr');
        td = document.createElement('td');
        td.appendChild(document.createTextNode(array[i]));
        tr.appendChild(td);
        theTable.appendChild(tr);
    }
    
    document.getElementById('table').appendChild(theTable);
    
    0 讨论(0)
提交回复
热议问题