在IE6中隐藏了jQuery TreeTable根节点扩展器图像,为什么?

时间:2009-11-18 18:27:51

标签: jquery-plugins

在IE6中,表中根节点的扩展器图形未显示。如果我将鼠标放在根节点文本旁边的正确位置,我实际上可以单击扩展器。

扩展器确实显示所有子节点。

奇怪的是TreeView site中的示例显示了IE6中的根扩展器图像。我看不出示例代码和我的代码之间的区别。我对所讨论的元素进行了CSS的并排比较,没有任何事情发生在我身上。

我没有比插件提供的样式表更多的样式。

<script type="text/javascript">
    $(document).ready(function() {
        $("#tree").treeTable();
    });
</script>

-

<body>
    <table id="tree">
      <tr id="node-1">
        <td>Parent</td>
      </tr>
      <tr id="node-2" class="child-of-node-1">
        <td>Child</td>
      </tr>
      <tr id="node-3" class="child-of-node-2">
        <td>Child</td>
      </tr>
    </table>
</body>

2 个答案:

答案 0 :(得分:2)

仅供参考,因为我也遇到了这个麻烦......

第一个父图像没有显示,因为图像的空间太小,因此需要修改treetable.css和treetable.js。

在jquery.treeTable.js中,更改行:

cell.prepend('<span style="margin-left: -' + options.indent + 'px; padding-left: ' + options.indent + 'px" class="expander"></span>'); 到:

cell.prepend('<span class="expander"></span>');

在jquery.treeTable.css中,将最后两行(margin-left和padding-left)添加到“.treeTable tr td .expander”:

.treeTable tr td .expander {  
background-position: left center;  
background-repeat: no-repeat;  
cursor: pointer;  
padding: 0;  
zoom: 1; /* IE7 Hack */    
margin-left: -3px;  
padding-left: 15px;}

°°°°°°°°°°°°°°°°°°°°°°°°° 我没有修改代码,上面的提示取自: http://javathoughts.capesugarbird.com/2009/03/jquery-tree-table-for-wicket.html

-VicSan。

答案 1 :(得分:0)

我同意VicSan解决方案,虽然我不想修改TreeTable源代码(因此我可以将其升级到未来版本,而无需在新代码中再次进行更改)。所以我建议你在树表(根)的第一行的第一个单元格的style属性中添加padding-left

<body>
    <table id="tree">
      <tr id="node-1">
        <td style="padding-left: 19px">Parent</td>
      </tr>
      <tr id="node-2" class="child-of-node-1">
        <td>Child</td>
      </tr>
      <tr id="node-3" class="child-of-node-2">
        <td>Child</td>
      </tr>
    </table>
</body>

我输入了19px,因为它是默认值,但是,如果您在indent选项中指定了另一个值(当您使用.treeTable(...)创建树表时),请将其放入。