我是JavaScript新手,所以让我直接说一下。对象 - 对象中的对象 - 这些对象的数组
我经常有一个网站有50个左右的项目,并在表中列出了有关该项目的详细信息。每个表格行包含多个td单元格。有些行具有类似的东西,比如USB驱动器或其他类型的东西。我想捕捉每一行,以便我可以对它们进行分组和重新排序以适应我的口味。
我有这样的对象:
function vnlItemOnPage(){
this.Category = "unknown";
this.ItemClass = "vnlDefaultClass";
this.ItemBlock = {};
}
这代表一行。
我一直在想的是如何捕获html < tr>stuff< /tr>
的块并将其保存到this.ItemBlock
。
这部分非常简单:
vnlItemOnPage.ItemBlock = element.getElementByClassName('className')[0]
?
这似乎很直截了当。我错过了什么吗?
这部分我坚持:
将会有50他们,所以我需要vnlItemOnPage的阵列?
vnlAllItems = ???
var vnlAllItems = [vnlItemOnPage]?
而且,我将如何添加到数组中并从数组中删除?我可能不会从数组中删除,如果这是复杂的不要打扰它。
一旦我抓住< TR> HTML,我就可以将其追加到表元素,像这样:
myTable.appendChild(vnlAllItems[0].ItemBlock);
正确?
如果您认为我从错误的方向接近这一点,我乐于接受任何建议。性能不是一个大问题 - 至少现在。后来我可能会尝试为几百个项目混合几页。
感谢您的协助!
[编辑]
也许这个问题的第二部分是如此基本,很难相信,我不知道答案。
该阵列可以是:var vnlAllItems = []
然后它只是: VAR ROW1 =新vnlItemOnPage; vnlAllItems.push(row1); var row2 = new vnlItemOnPage; row2.ItemBlock = element.getElementByClassName('className')[0];
我想关闭这个问题,但我讨厌这样做,没有关于处理数组的东西。
如果你想,我想你会排序表使用一些桌面分类器插件(有很多),比如http://sandbox.scriptiny.com/sorter/index.html – serg 2011-05-20 21:30:53
好吧,我并不真正要对表格进行排序,按照我想要的方式排列并重建一张新桌子。感谢您的链接,但我相信这在某些时候会派上用场。 – Darin 2011-05-20 21:35:20
@serg - 你不认为铬扩展标签是合适的?这是一个扩展,我无法访问服务器端的HTML。 – Darin 2011-05-20 21:50:50