0

我得到一个返回 HTML,如:

   '<tr id="x" ><td>Cool</td><tr>
    <tr id="x" ><td>Cool</td><tr>
    <tr id="x" ><td>Cool</td><tr>
    <tr id="y" ><td>Cool</td><tr>
    <tr id="y" ><td>Cool</td><tr>
    <tr id="y" ><td>Cool</td><tr>'

现在我需要解析这个字符串并填充到 2 个不同的表中。id=x 去一张桌子 id = y 去另一张桌子。

我的想法是从字符串解析 HTML tr td 并将其填充到表中。

4

2 回答 2

1

以下应该有效:

$(yourstringvariable).find("tr").each(function(){
  var id = $(this).getAttribute("id");
  var name = $(this).find("td:first").html();
  // test id and add the name in the correspondig table here
});

但正如另一个人所说:id必须是唯一的,所以请改用class。"$(yourstringvariable)" 将创建一个与您的字符串对应的 DOM 元素。

于 2012-08-03T12:49:22.693 回答
0

如果你可以使用 jQuery:

var input = '<tr class="x" ><td>Cool X1</td><tr>\n' +
    '<tr class="x" ><td>Cool X2</td><tr>\n' +
    '<tr class="x" ><td>Cool X3</td><tr>\n' +
    '<tr class="y" ><td>Cool Y1</td><tr>\n' +
    '<tr class="y" ><td>Cool Y2</td><tr>\n' +
    '<tr class="y" ><td>Cool Y3</td><tr>';


var data = $(input);

data.filter('tr.x').appendTo($('#x'));
data.filter('tr.y').appendTo($('#y'));
​

这是完整的 jsfiddle:http: //jsfiddle.net/5muJd/

于 2012-08-03T13:25:49.573 回答