2012-01-13 39 views
0

我现在使用jQuery根据用户输入动态生成DIV。由于这些产生和格式化的性质,DIV之间没有直接的父母/子女关系。事实上,我想最简单的解释方法就是生成一棵树。我希望能够创建一个自定义层次结构,以便如果树顶部的元素被删除,所有它都是伪子元素。自定义jQuery层次

下面是一个有点可视化的例子。该图遵循水平等级。

Level 1 Level 2 Level 3 
----------------------------- 

    X  X   X \ 
         X | >> These 3 elements are pseudo-children of 
         X/ the first elements in level 1 and level 2 

      X <<<<<< X << The element in level 2 is pseudo-child of 
         X  the first element in level 1 

    X  X   X 

      X   X 
         X  

UPDATE:

代码示例:

<tr> 
    <td>Level1</td> 
    <td>Level2</td> 
    <td>Level3</td> 
</tr> 
<tr> 
    <td /> 
    <td /> 
    <td>Level3</td> 
</tr> 
<tr> 
    <td /> 
    <td /> 
    <td>Level3</td> 
</tr> 
<tr> 
    <td /> 
    <td>Level2</td> 
    <td>Level3</td> 
</tr> 
<tr> 
    <td /> 
    <td /> 
    <td>Level3</td> 
</tr> 

等...(匹配图)

+0

是高层次的容器兄弟姐妹? – 2012-01-13 20:30:36

+0

不是。它是表格式的。因此,一个级别是一列,​​并且一个关系是具有特定TD的行填充内容 – 2012-01-13 20:32:22

+0

因此,当您删除顶部的一个元素(第一列中的一个元素)时,只需删除整行(使用所有伪代码)儿童)。那不会呢? – 2012-01-13 20:34:51

回答

1

我想你想要的是在HTML5的Flexible Box Module。见一个非常好的一套关于它here

而且操场http://flexiejs.com/playground/(用X浏览器以及JavaScript库)的文章


我的猜测是在UI与表做到这一点的唯一方法也是在内存中存储一​​棵树,然后使用它来“知道”要删除的内容。


也许我失去了一些东西,但什么是不对的:

<div id="a"> 
    <div id="b"> 
     <div id="c" /> 
     <div id="d" /> 
     <div id="e" /> 
    </div> 
    <div id="f"> 
     <div id="g" /> 
     <div id="h" /> 
    </div> 
</div> 
<div id="i"> 
    <div id="j"> 
     <div id="k" /> 
    </div> 
    <div id="l> 
     <div id="m" /> 
    </div> 
</div> 



Level 1 Level 2 Level 3 
----------------------------- 

    a  b   c \ 
         d | >> These 3 elements are pseudo-children of 
         e/ the first elements in level 1 and level 2 

      f <<<<<< g << The element in level 2 is pseudo-child of 
         h  the first element in level 1 

    i  j   k 

      l   m 
         n 
+0

使用拖放系统构建层次结构。不幸的是,这种方法对用户错误变得混乱。 – 2012-01-13 20:34:03

+0

+1我希望这可以在第一个地方解决。在尝试了一下之后,格式化和事件监听器干扰变得太多了 – 2012-01-13 20:35:21

+0

@KyleMacey - 请参阅编辑 – Hogan 2012-01-13 20:48:00