我需要创建多个保存数据的表。所有表都包含相同的字段,但每个表的数据是使用 jQuery 和 Javascript 从 XML 文件中解析的。目前我的设置是在 HTML 中创建我的格式化表格,其中 'id' 字段标识将放置 XML 数据的区域。例如...
主要HTML:
<body id="top">
</body>
模板 HTML:
<table id="sectionTable" border="1" cellpadding="10" cellspacing="1" width="100%">
<tr><td id="information"></td></tr>
</table>
加载模板的 Javascript:
$('#top').load('template.html #sectionTable');
这会在 HTML 文件(在本例中为 template.html)中获取 ID 为“sectionTable”的元素,并将其插入到 ID 为“top”的元素的主体中,该元素是 html 页面的主体。
将 XML 数据放入表中的 Javascript: 我能够很好地解析和存储 XML 数据,然后将其存储到一个变量中。然后我将此数据附加到适当的 html ID 标记...
var title = <from XML>; //Lets say in this case title="My Stack Title"
...
$(#information).append(title);
生成的 HTML:
<table id="sectionTable" border="1" cellpadding="10" cellspacing="1" width="100%">
<tr>
<td id="information">My Stack Title</td>
</tr>
</table>
这种方法的问题在于,当我遍历 XML 的多个部分并使用这种技术时,它不会创建新的 HTML 表,而是会覆盖现有数据,因为我使用相同的 ID。
我知道通过使用 DOM 对象我可以解决这个问题,但我的问题是,虽然这是一个简单的例子,但我的表非常复杂,有多个级别、样式等。这将是很多要创建和嵌套的对象彼此之间的正确性,这对于另一个用户将来很难改变(这很可能)。使用模板方法很容易跟踪所有内容的去向。如果有一种方法可以根据通过 XML 数据的迭代索引在 HTML 中放置唯一 ID,它会解决问题,但我还没有想出如何做到这一点。
有什么建议么?谢谢!