2010-03-30 29 views
9

Ben gizli bir satır içeren bir tabloyla bir html sayfası vardır:değiştirme Tablo satır ekran özelliği

<table> 
    <tr id="hiddenTr" style="display:none"> 
    ... 
    </tr> 
</table> 

Jquery kullanarak istemci tarafında görünür hale getirmek gerekir. Bu

$('#hiddenTr').show(); 

ve ikisi de uygulamalar için beni işe yaramaz bu

$('#hiddenTr').css('display', 'table-row'); 

çalıştı. Furthemore ikincisi crossbrowser değil.

UPD. Üzgünüm çocuklar. Bu benim hatamdı: tr element kimliğini yanlış yazdım. Bu garip $ ('hiddenTr') null döndürmedi ...

+1

etiketinin etiketi yoksa, görünürlüğünün doğru ayarlanıp ayarlanmadığını nasıl bilebilirsiniz? –

+0

@Vishal Seth: Elbette tr içinde bazı içerik var. Biraz yanlış örnek için özür dilerim. – SiberianGuy

+2

FYI - jQuery eşleşme bulamıyorsa null döndürmez - boş bir dizi döndürür. – Ray

cevap

5

İlki çalışmalıdır. $ (Document) .ready (işlev() {}); ?

$(document).ready(function(){ 
    $('#hiddenTr').show(); 
}); 
+0

Her ikisi de benim için çalışıyor. http://jsbin.com/apubo/2/edit – Mark

+0

evet ... ikisi de doğru. Sadece çapraz tarayıcı sorunları olmadan ne istediğini ilk beri bu yana ikinciden söz etmedim. –

2

Sen display:auto ayarlamayı deneyebilirsiniz, ama dürüst olmak gerekirse, elle tablo satır/hücreleri için ekran özelliğini ayarlayarak sorun başka bir şey gelmedi.

Genelde bulduğum iş, display:none numaralı "gizli" adlı bir CSS sınıfı oluşturuyor. Show() 'dan ziyade, o sınıfı kaldırıyorum.

1

$('#hiddenTr').css('display','block'); 

Ayrıca, en az bir &nbsp; böylece satır tarayıcı istemci tarafından çokmezler, içinde bir şey ile bir <TD></TD> koymak gerekir. Diffrent müşteriler ... diffrently davranmaya

Hep "" (boş dize) gizli bir tablo satırını göstermek için style.display özelliğini ayarlayın
10

:

var row = document,getElementById("row_id"); 
row.style.display = ""; // shows the row 

tekrar gizlemek için:

row.style.display = "none"; // hides the row 

jQuery, bu olacaktır:

$("#row_id").css("display", ""); // show the row 

veya

$("#row_id").css("display", "none"); // hides the row 

IE, 'table-row' değerinin görüntülenmesini istemiyor. Ve 'blok' doğru değil ve bazen diğer tarayıcılarda ekranı bozuyor gibi görünüyor.

+0

Evet, ekranı boş dizgiye ayarlamak en iyi yoldur. BTW, IE7 'table-row'ı desteklemese de IE8 yapar. Ayrıca, IE (7 veya 8) yapmazken, Firefox'ta 'block', bir tablonun düzenini bozar. –

İlgili konular