2012-03-27 51 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); 
     } 
    } 
}) 
其實你想要什麼