2012-03-27 50 views
0

我的问题是,为什么我不能使用hide() & show()来隐藏/显示我的网页上的表行。如果我使用其中任何一种,浏览器会冻结,但是如果我使用remove()它可以正常工作,但是我无法返回该行(或?)。表行显示/隐藏 - 删除()

如果我使用显示和隐藏其他任何东西的工作就好了。我做错了什么?

for(var i=0; i<=pages-begin; i=i+1){ 
     if($("#myTable2 tr:nth-child("+i+") td:nth-child("+ rowIndex +")").text() == $(this).text()){ 
     $("#myTable2 tr:nth-child("+i+") td:nth-child("+ rowIndex +")").parent().remove(); i=i-1;} 
    } 

编辑:

我用live(),而当我读到刚才切换和这样的没有内live()工作...但我仍然需要回答:(

$("#dropMenuFilter ul li").live("click", function(){ 
for(var i=0; i<=strani-zacetek; i=i+1){ 
    if($("#myTable2 tr:nth-child("+i+") td:nth-child("+ rowIndex +")").text() == $(this).text()){ 
    $("#myTable2 tr:nth-child("+i+") td:nth-child("+ rowIndex +")").parent().fadeOut(); i=i-1;} 
}}); 

dropMenuFilter是一些div,我在其上添加了.text()的特定<td>,我希望当我点击它时,它会删除这个td:table行的父项。它适用于remove() ...

+1

。请广告的HTML和解释的问题 – 2012-03-27 06:35:14

+0

把你的测试代码在http://jsfiddle.net/和共享链接 – 2012-03-27 06:41:54

+0

无法重现您的错误:http://jsfiddle.net/rByTm/(在FF11和IE9中工作)。 – Zeta 2012-03-27 06:44:58

回答

0

soloution:

function removeRow(vrstica){ 
    $("#myTable2 tr:nth-child("+vrstica+") td:nth-child("+ rowIndex +")").parent().toggle(); 
} 

$("#dropMenuFilter ul li").live("click", function(){ 
    for(var i=1; i<=strani-zacetek; i+=1){ 
     if($("#myTable2 tr:nth-child("+i+") td:nth-child("+ rowIndex +")").text() == $(this).text()){ 
      removeRow(i); 
     } 
    } 
}) 
其实你想要什么