2017-02-23 146 views
0
爲HTML

我的字符串如下所示:如何解析字符串使用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> 

我想用jQuery解析它,這樣我就可以添加一個<td><tr>的內最後。

我到目前爲止嘗試以下方法: 請考慮「item [index] .preis」包含沒有id或class的字符串。

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

[![在這裏輸入的形象描述] [1] [1]

我試圖訪問的TR與.children(),但它沒有工作。

+0

使用'el.f ind('tr')',因爲'tr'是'tbody'的子元素,不是'table'本身 –

+0

它說找不是函數 – moody

+0

所以你想只添加更多的表數據到最後一個錶行中? –

回答

0

如果你想在每個錶行的末尾插入相同的值,你可以使用以下命令:

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

你可以做那樣的事情。只需在jQuery對象中包裝你的元素來對它們執行jQuery操作。

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); 

您也可以點擊這裏

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

0

您可以使用「查找」來搜索TR元素,然後「追加」追加內容的小提琴。

做這樣的:

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);