1

我有一个表,其中的行是从记录集中动态加载的。我还使用了JavaScript,因此当检查复选框(不在表中)时,它在X = y列时隐藏了所有行,但是我有一个垂直边框(实际上只是右侧的背景图像),它逐渐消失使用 CSS 的表格的最后一行.sortable .dynamicrow:last-child td{

因此,当我选中该框并删除最后一行时,边框不会正确淡出,基本上我需要重新运行/刷新 CSS。

总之,我在问如何刷新 javascript 中元素的样式/CSS。

   .sortable .dynamicrow:last-child td{
    background-image:url(../Images/tablevborderbottom.png);
    background-position:right;
    background-repeat:no-repeat;
}

是我用来让最后一行的垂直边框淡入淡出的 CSS 有时最后一行被删除,所以倒数第二行成为最后一行,但它保持它的实心边框并且它不会淡出。

另一种说法是,在页面加载后,由于 Javascript 有时最后一个孩子被删除,所以它上面的孩子成为最后一个孩子,我如何将上面的 CSS 应用到新的最后一个孩子?

4

1 回答 1

0

我要做的是将类声明添加到您现有的样式中,并在隐藏最后一行时将 CSS 类应用于现在的最后一行。

   .sortable .dynamicrow:last-child td, .dummy_last_row{
    背景图像:url(../Images/tablevborderbottom.png);
    背景位置:右;
    背景重复:不重复;
}

然后是 JavaScript。这是基于一个简单的表,有 5 行,1 td,带有 onclick="Lst_row(this)" 的按钮

函数 Lst_row(row){
    行 = row.parentNode.parentNode;
    tbl = document.getElementById("sorttable");
    行 = tbl.getElementsByTagName("TR");
    if(row == rows[tbl.getElementsByTagName("TR").length-1] || row.className.indexOf("dummy_last_row") != -1){
        对于 (i=0; i<rows.length; i++){
            if(i != 0 && row == rows[i] && rows[i-1])){
                rows[i-1].className += "dummy_last_row";
            }
        }
    }
}

这当然很简单,但是基础就在那里。

于 2009-10-17T19:27:32.163 回答