2010-03-30 15 views
9

मैं एक मेज है कि एक छिपा पंक्ति है के साथ एक html पृष्ठ है:बदलें तालिका पंक्ति प्रदर्शन संपत्ति

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

मैं jQuery का उपयोग कर ग्राहक के पक्ष में यह दृश्यमान बनाना होगा। मैं इस

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

और इस

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

दोनों कार्यान्वयन मेरे लिए काम नहीं करते की कोशिश की। फर्टहमोर दूसरा दूसरा क्रॉसब्रोसर नहीं है।

यूपीडी। क्षमा करें, दोस्तों। यह मेरी गलती थी: मैंने tr element id को गलत टाइप किया था। यह अजीब $ ('छुपा हुआ') शून्य वापस नहीं आया ...

+1

यदि में टैग नहीं है, तो आप कैसे जानेंगे कि इसकी दृश्यता सही हो रही है या नहीं? –

+0

@ विशाल सेठ: निश्चित रूप से tr के अंदर कुछ सामग्री है। थोड़ा गलत नमूना के लिए खेद है। – SiberianGuy

+2

एफवाईआई - अगर कोई मैच नहीं मिलता है तो jQuery शून्य नहीं लौटाएगा - यह एक खाली सरणी देता है। – Ray

उत्तर

5

पहले व्यक्ति को काम करना चाहिए। क्या आप इसे $ (दस्तावेज़) में लपेट रहे हैं। पहले (फ़ंक्शन() {}); ?

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

दोनों मेरे लिए काम करते हैं। http://jsbin.com/apubo/2/edit – Mark

+0

हाँ ... वे दोनों सही हैं। मैंने पहले दूसरे को उल्लेख करने से परेशान नहीं किया क्योंकि पहले किसी भी क्रॉस ब्राउज़र के मुद्दों के बिना वह क्या चाहता है। –

2

आप display:auto को सेट कर सकें, लेकिन ईमानदारी से, मैं लेकिन मैन्युअल रूप से तालिका पंक्तियों/कोशिकाओं के लिए प्रदर्शन संपत्ति की स्थापना मुसीबत कुछ भी नहीं मिला है।

जो मैंने आमतौर पर पाया है वह "छिपी हुई" नामक एक सीएसएस क्लास बना रहा है जिसमें display:none है। दिखाने के बजाय() आईएनजी, मैं बस उस वर्ग को हटा देता हूं।

1

ने कोशिश की?

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

इसके अलावा, आप उस में कुछ के साथ एक <TD></TD> में रखना चाहिए, कम से कम एक &nbsp; तो पंक्ति आपके ब्राउज़र ग्राहक द्वारा ढह नहीं है। अलग ग्राहकों diffrently व्यवहार करते हैं ...

10

मैं हमेशा "" (रिक्त स्ट्रिंग) एक छिपे हुए तालिका पंक्ति को दिखाने के लिए करने के लिए style.display गुण सेट:

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

इसे फिर से छिपाने के लिए:

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

jQuery में, इस होगा:

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

या

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

आईई प्रदर्शन के लिए 'टेबल-पंक्ति' मान पसंद नहीं प्रतीत होता है। और 'ब्लॉक' सही नहीं है, और ऐसा लगता है कि कभी-कभी अन्य ब्राउज़रों में डिस्प्ले खराब हो जाता है।

+0

हां, खाली स्ट्रिंग पर डिस्प्ले सेटिंग सबसे अच्छा तरीका है। बीटीडब्ल्यू, जबकि आईई 7 'टेबल-पंक्ति' का समर्थन नहीं करता है, आईई 8 करता है। साथ ही, फ़ायरफ़ॉक्स में 'ब्लॉक' निश्चित रूप से तालिका के लेआउट को गड़बड़ कर देता है जबकि आईई (7 या 8) नहीं करता है। –

संबंधित मुद्दे