如何使用jquery将字符串解析为HTML

时间:2017-02-23 04:14:49

标签: jquery html parsing

我的字符串如下所示:

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

到目前为止我尝试了以下内容: 考虑一下&#34; item [index] .preis&#34;包含没有id或类的String。

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

[![在此处输入图像说明] [1]] [1]

我尝试使用.children()访问tr,但它没有用。

3 个答案:

答案 0 :(得分:0)

你可以做那样的事。只需将您的元素包装在jQuery Object中,就可以对它们执行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/

答案 1 :(得分:0)

您可以使用&#39;查找&#39;搜索tr元素然后追加&#39;附加内容。

这样做:

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

答案 2 :(得分:0)

如果要在每个表行的末尾插入相同的值,可以使用以下内容:

&#13;
&#13;
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";
}
&#13;
<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>
&#13;
&#13;
&#13;