2016-05-04 11 views
0

Ändern ich ein Click-Ereignis schreiben, und eine Tabelle erstellen mit:jQuery über die Spalten- und Zeilen

var table = $('<table></table>').addClass('foo'); 
       $.each($(this).get(0).attributes,function(i,attrib){ 
        //var row = $('<tr></tr>').addClass('bar').text(attrib.name + ":" + attrib.value); 
        table.append('<tr><td>'+attrib.name+'</td><td>'+attrib.value+'</td></tr>'); 
        // table.append(row); 

       }); 
       $('#here_table').append(table); 

Das Ergebnis wie ist:

name1: value1

name2: Wert2

Aber ich möchte ändern in:

name1 name2

wert1 wert2

Was soll ich tun?

Antwort

0

Sie können zwei separate Arrays für names und values erstellen, die Sie später einen einzelnen String für jeden von ihnen zu bauen verwenden:

var table = $('<table></table>').addClass('foo'); 
var names = []; 
var values = []; 
$.each($(this).get(0).attributes, function(i, attrib) { 
    names.push(attrib.name); 
    values.push(attrib.value); 
}); 
var rowNames = $('<tr></tr>').addClass('bar').text(names.join(" ")); 
table.append(rowNames); 
var rowValues = $('<tr></tr>').addClass('bar').text(values.join(" ")); 
table.append(rowValues); 
$('#table').append(table); 
+0

Vielen Dank für Ihre Antwort, in der Art und Weise, wie genügend Platz zu machen für Namen Wert ausrichten? – vonschbo

0

Sie werden zunächst Namen und Werte sammeln müssen und sie dann in die setzen zwei Zeilen deines Tisches. Leider kann man nicht einfach eine Tabelle Spalte für Spalte füllen

Etwas in den Linien

var table = $('<table></table>').addClass('foo'); 
var names = []; 
var values = []; 
$.each($(this).get(0).attributes, function(i, attrib) { 
    names.push(attrib.name); 
    values.push(attrib.value); 
} 

// now populate two lines 
var row1 = $('<tr/>'); 
$.each(names, function(i, name) { 
    var td = $('<td/>'); 
    td.text(name); 
    row1.append(td); 
} 
table.append(row1); 

var row2 = $('<tr/>'); 
$.each(values, function(i, value) { 
    var td = $('<td/>'); 
    td.text(value); 
    row2.append(td); 
} 
table.append(row2); 
Verwandte Themen