2017-02-23 18 views
0

Mein String sieht wie folgt HTML:, wie eine Zeichenfolge zu analysieren, mit jquery

<table> 
<tbody> 
    <tr> 
    <td>Sack</td> 
    <td>&nbsp;</td> 
    <td>7.48</td> 
    <td>&nbsp;</td> 
    </tr> 

    <tr> 
     <td>Palette</td> 
     <td>&nbsp;</td> 
     <td>23.41</td> 
     <td>&nbsp;€</td> 
    </tr> 
</tbody> 

Ich möchte analysieren es mit jQuery, so kann ich eine <td> Innenseite der <tr> ‚s hinzufügen Am Ende.

Ich versuchte bisher Folgendes: Betrachten Sie, dass "item [index] .preis" den String ohne ID oder Klasse enthält.

var el = $.parseHTML(item[index].preis); 
    console.log(el[1]); 

[! [Enter image description here] [1]] [1]

Ich habe versucht, mit .children() auf die tr zuzugreifen, aber es hat nicht funktioniert.

+0

Verwenden Sie 'el.f ind ('tr') ', wie' tr' sind Kinder von 'tbody' nicht die' Tabelle' selbst –

+0

es sagt, dass find keine Funktion ist – moody

+0

Sie möchten also nur noch mehr Tabellendaten in die letzte Tabellenzeile einfügen, die Sie haben? –

Antwort

0

Wenn Sie die gleichen Werte am Ende der jeweiligen Tabellenzeile einfügen möchten, können Sie Folgendes verwenden:

var rows = document.getElementsByTagName("tr"); 
 

 
for (var i = 0; i < rows.length; i++) 
 
{ 
 
    var rowToInsert = rows[i]; 
 
    var insertPoint = rowToInsert.insertCell(-1); 
 
    insertPoint.innerHTML = "New Value"; 
 
}
<table> 
 
    <tbody> 
 
    <tr> 
 
     <td>Sack</td> 
 
     <td>&nbsp;</td> 
 
     <td>7.48</td> 
 
     <td>&nbsp;</td> 
 
    </tr> 
 
    <tr> 
 
     <td>Palette</td> 
 
     <td>&nbsp;</td> 
 
     <td>23.41</td> 
 
     <td>&nbsp;€</td> 
 
    </tr> 
 
    </tbody> 
 
</table>

0

können Sie so etwas tun. Umschließen Sie Ihre Elemente in jQuery Object, um jQuery-Operationen für sie auszuführen.

var tableStr = "<table><tbody><tr><td>Sack</td><td>&nbsp;</td><td>7.48</td><td>&nbsp;</td> </tr><tr><td>Palette</td><td>&nbsp;</td><td>23.41</td><td>&nbsp;€</td> </tr></tbody></table>"; 

    var el = $.parseHTML(tableStr); 

    var allRow = $(el).find('tr'); 
    var allCol = $(allRow).children(); 
    console.log('all Row'); 
    console.log(allRow); 
    console.log('all Col'); 
    console.log(allCol); 

Sie können auch die Geige hier überprüfen

http://jsfiddle.net/o2gxgz9r/3156/

0

Sie können verwenden 'finden' TR-Element zu suchen und dann 'append' Inhalt anzuhängen.

Machen Sie es wie folgt aus:

https://jsfiddle.net/s9y6qpmv/

var elem = "<table><tbody><tr><td>Sack</td><td>&nbsp;</td><td>7.48</td><td>&nbsp;</td> </tr><tr><td>Palette</td><td>&nbsp;</td><td>23.41</td><td>&nbsp;€</td> </tr></tbody></table>"; 

var el = $.parseHTML(elem); 
    $(el).find("tr").append("<td>Game</td>") 
    console.log($(el).html()); 

    $("body").append(el); 
Verwandte Themen