刷新Javascript中的元素样式

刷新Javascript中的元素样式,javascript,css,dynamic,refresh,element,Javascript,Css,Dynamic,Refresh,Element,我有一个表,其中的行是从记录集动态加载的。我还使用了Javascript,因此当选中复选框(不在表中)时,它会在列x=y时隐藏所有行,但我有一个垂直边框(实际上只是一个位于右侧的背景图像),它使用CSS.sortable.dynamicCrow:last child td{ 因此,当我选中该框并删除最后一行时,边框不会正确褪色,基本上我需要重新运行/刷新CSS 总之,我要问的是如何在javascript中刷新元素的样式/CSS .sortable .dynamicrow:last-chil

我有一个表,其中的行是从记录集动态加载的。我还使用了Javascript,因此当选中复选框(不在表中)时,它会在列x=y时隐藏所有行,但我有一个垂直边框(实际上只是一个位于右侧的背景图像),它使用CSS
.sortable.dynamicCrow: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应用于新的最后一个子项?

我要做的是向现有样式添加一个类声明,并在隐藏最后一行时将CSS类应用于当前样式t罗

.sortable .dynamicrow:last-child td, .dummy_last_row{ background-image:url(../Images/tablevborderbottom.png); background-position:right; background-repeat:no-repeat; } .sortable.dynamicCrow:最后一个子项td、.dummy\u最后一行{ 背景图像:url(../Images/tablevborderbottom.png); 背景位置:右; 背景重复:无重复; } 然后是JavaScript。它基于一个简单的表,有5行,1个td,带有onclick=“Lst_row(This)”按钮

功能Lst_行(行){ row=row.parentNode.parentNode; tbl=document.getElementById(“排序表”); rows=tbl.getElementsByTagName(“TR”); if(row==rows[tbl.getElementsByTagName(“TR”).length-1]| | | row.className.indexOf(“dummy_last_row”)!=-1){
对于(i=0;我可以发布一个示例,或者至少一些代码吗?这个问题发生在哪个浏览器和版本?您使用的是JavaScript库吗?我使用的是Firefox(雷区))3.7,这是一个问题吗?我想这只是它的工作原理。在FF 3.5中:last child选择器似乎工作正常。Minefield可能会有问题。您使用开发版本的任何特定原因?在预发布软件上开发应用程序通常不是一个好主意。:last child在Minefield上工作正常,在google chrome上工作正常同样,在safari上(当然是iphone版本)它的工作原理也是一样的。基本上,一旦页面已经加载,CSS已经应用到元素上,如果你移动元素,它就不会再次检查CSS。行数是否是动态的有关系吗?因此没有设置的行数吗?不,没关系,它将处理与排序表中相同的行数。但是,你会忽略ed对其进行了调整,以适应这样一个事实,即这是基于单击表中的某个元素,但是您有一个复选框,该复选框存在于表外。如果您无法确定如何更改它,请告诉我们。您能否解释每行代码?我有点明白,但我想完全理解。我理解设置变量Bles.当然,基本上是根据行arg是TD元素中的按钮的原则,转到parentNOde.parentNOde将带我们到包含被按下按钮的表行(button->TD->tr)。然后,我们获得排序表的所有表行,接下来我们检查被按下的按钮是表的最后一行还是最后一个可见行(因为最后一个可见行具有伪_last_row类)如果它是通过所有行循环的,并且如果当前行循环是按下的输入的行,并且在该行之前有一行(以便不是所有行都被隐藏)应用虚拟类您还需要在隐藏行时删除该类,并处理其他类似的事情,但我相信您可以做到:) function Lst_row(row){ row = row.parentNode.parentNode; tbl = document.getElementById("sorttable"); rows = tbl.getElementsByTagName("TR"); if(row == rows[tbl.getElementsByTagName("TR").length-1] || row.className.indexOf("dummy_last_row") != -1){ for (i=0; i<rows.length; i++){ if(i != 0 && row == rows[i] && rows[i-1])){ rows[i-1].className += " dummy_last_row"; } } } }