मैं एक HTML तालिका पंक्ति <tr> कैसे छिपा सकता हूं ताकि इसमें कोई स्थान न हो?


105

मैं एक HTML तालिका पंक्ति कैसे छिपा सकता हूं <tr>ताकि इसमें कोई स्थान न हो? मेरे पास कई <tr>सेट हैं style="display:none;", लेकिन वे अभी भी टेबल के आकार को प्रभावित करते हैं और टेबल की सीमा छिपी हुई पंक्तियों को दर्शाती है।


2
क्या उन्हें बार-बार दिखाया / छिपाया जा रहा है? या जब वे छिपे होते हैं, तो क्या वे प्रभावी रूप से अच्छे के लिए चले गए हैं? क्योंकि आप केवल पंक्ति को हटाने के लिए जावास्क्रिप्ट का उपयोग कर सकते हैं और यह संभवतः आपके मुद्दे को ठीक कर देगा।
ब्रेटकली जूल

मैं उन्हें छुपा के रूप में शुरू करना चाहता हूं, और फिर उन्हें दिखाएं कि क्या उपयोगकर्ता "अधिक दिखाने" के लिए एक बटन पर क्लिक करता है। जब वे छिपे होते हैं, तो मैं नहीं चाहता कि वे ऊर्ध्वाधर स्थान लें।
15

मेरे पास यही मुद्दा था, यदि आप जावास्क्रिप्ट के साथ पंक्ति को हटाते हैं (), तो यह IE6 में कुछ जगह लेता है। कोई रास्ता नहीं
चूसने के

1
आप किस सिद्धांत का उपयोग कर रहे हैं? मैं स्वीकार करता हूं कि आप एक साधारण प्रतिनिधि के साथ एसओ को पोस्ट कर रहे हैं, यह दर्शाता है कि आप शायद क्वर्की मोड से बचने के लिए पर्याप्त जानते हैं ... लेकिन केवल एक बेवकूफ सवाल यह है कि पूछा नहीं गया है। ... और नवोदितों के बारे में, जाहिर है।
डेविड कहते हैं

1
मैंने अभी FF 3.5 और IE8 में परीक्षण किया है - दोनों प्रदर्शन के साथ पंक्ति को छिपाते हैं: कोई नहीं
17 का 26

जवाबों:


37

मैं वास्तव में आपके टेबल की स्टाइल देखना चाहूंगा। जैसे "सीमा-पतन"

बस एक अनुमान है, लेकिन यह प्रभावित हो सकता है कि 'छिपी' पंक्तियों को कैसे प्रस्तुत किया जा रहा है।


2
धन्यवाद! वह गायब शैली थी।
माइकएन

100

क्या आप कुछ कोड शामिल कर सकते हैं? मैं style="display:none;"हर समय अपनी तालिका पंक्तियों में जोड़ता हूं और यह पूरी पंक्ति को प्रभावी ढंग से छिपाता है।


मेरे लिए काम किया। मैं दृश्यता सेट करने की कोशिश कर रहा था: पहले छिपा हुआ :(
टॉडम्स

अभी भी रिक्ति है: /
fatuhoku

जब आप
छुपी

57

आप <tr id="result_tr" style="display: none;">इसे जावास्क्रिप्ट के साथ सेट कर सकते हैं और फिर दिखा सकते हैं :

var result_style = document.getElementById('result_tr').style;
result_style.display = 'table-row';

5
ठंडा! यह वही है जो मैं देख रहा था :)
kmario23

4
धन्यवाद!! छिपाना आसान था, लेकिन उन्हें पीछे छोड़ना समस्याग्रस्त साबित हो रहा था।
जेफरी गुफा 14

इससे तालिका की चौड़ाई बदल जाती है, मैं एक फ़िल्टर कर रहा हूं जहां खोज बॉक्स के अंदर पंक्तियों को छिपे हुए दिखाए जाने की आवश्यकता है
PirateApp

13

मैंने सोचा कि मैं इस संभावित अन्य समाधान में जोड़ दूंगा:

<tr style='visibility:collapse'><td>stuff</td></tr>

मैंने इसे केवल Chrome पर परीक्षण किया है, लेकिन इस पर डाल रहा हूं <tr> पंक्ति है और पंक्ति के अंदर की सभी कोशिकाएं अभी भी कॉलम की चौड़ाई में योगदान करती हैं। मैं कभी-कभी केवल कुछ स्पेसरों के साथ एक तालिका के निचले भाग में एक अतिरिक्त पंक्ति बनाऊंगा जो इसे इतना निश्चित बनाता है कि कॉलम एक निश्चित चौड़ाई से कम नहीं हो सकता है, फिर इस पद्धति का उपयोग करके पंक्ति को छिपाएं। (मुझे पता है कि आप अन्य सीएसएस के साथ ऐसा करने में सक्षम हैं, लेकिन मैंने कभी काम नहीं किया है)

फिर, मैं पूरी तरह से क्रोम वातावरण में हूं, इसलिए मुझे नहीं पता कि अन्य ब्राउज़रों में यह कैसे कार्य करता है।


1
यह अधिकांश आधुनिक ब्राउज़रों में काम करता है, सफारी के उल्लेखनीय अपवाद के साथ, जो पंक्ति को छिपाने के बजाय व्हॉट्सएप को प्रस्तुत करता है: developer.mozilla.org/en-US/docs/Web/CSS/visibility
ऑस्कर शोलेटन

8

यदि display: none;काम नहीं करता है, तो height: 0;इसके बजाय सेटिंग कैसे करें ? नकारात्मक मार्जिन के साथ संयोजन में (तत्व के बराबर, या उससे अधिक, ऊपर और नीचे की सीमाओं की ऊंचाई, यदि कोई हो) तत्व को आगे निकालने के लिए? मुझे नहीं लगता कि position: absolute; top: 0; left: -4000px;यह काम करेगा, लेकिन यह एक कोशिश के काबिल हो सकता है।

मेरे हिस्से के लिए, display: noneठीक काम करता है।


4

निम्न पंक्ति-ऊंचाई में से कुछ जोड़ें: 0px; फ़ॉन्ट-आकार: 0px; ऊँचाई: 0px; मार्जिन: 0; गद्दी: 0;

मैं भूल जाता हूं कि यह कौन करता है। मुझे लगता है कि यह IE6 के लिए लाइन-ऊंचाई है।


4

मेरे पास एक ही मुद्दा था, मैंने प्रत्येक सेल में शैली = "प्रदर्शन: कोई नहीं" भी जोड़ा।

अंत में मैंने HTML टिप्पणियों का उपयोग किया <!-- [HTML] -->


4

आप शैली प्रदर्शन का उपयोग कर सकते हैं: कोई भी छिपाने के लिए ट्र के साथ और यह सभी ब्राउज़रों के साथ काम करेगा।


3
var result_style = document.getElementById('result_tr').style;
result_style.display = '';

मेरे लिए पूरी तरह से काम कर रहा है ..


2

मेरे साथ ऐसा हुआ था और मुझे इस बात से ऐतराज़ था कि क्यों। फिर मैंने देखा कि अगर मैंने कोई nbsp हटा दिया; मैं पंक्तियों के भीतर था, तो पंक्तियों ने कोई स्थान नहीं लिया।


-1

आपको इनपुट प्रकार को छिपाने के लिए परिवर्तन करने की आवश्यकता है, इसके सभी कार्य काम करते हैं लेकिन यह पृष्ठ पर दिखाई नहीं देता है

<input type="hidden" name="" id="" value="">

जब तक इनपुट प्रकार सेट है कि आप बाकी को बदल सकते हैं। शुभ लाभ!!


-3

मुझे भी यही समस्या हो रही थी और मैंने इस मुद्दे को सुलझा लिया। पहले सीएसएस ओवरफ्लो था: छिपा हुआ; z- सूचकांक: 999999;

मैं इसे अतिप्रवाह में बदल देता हूं: दृश्यमान;


-3

HTML:

<input type="checkbox" id="attraction" checked="checked" onchange="updateMap()">poi.attraction</input>

जावास्क्रिप्ट:

function updateMap() {
     map.setOptions({'styles': getStyles() });
} 

function getStyles() {
    var styles = [];
    for (var i=0; i < types.length; i++) {
      var style = {};
      var type = types[i];
      var enabled = document.getElementById(type).checked;
      style['featureType'] = 'poi.' + type;
      style['elementType'] = 'labels';
      style['stylers'] = [{'visibility' : (enabled ? 'on' : 'off') }];
      styles.push(style);
    }
    return styles;
}

-5

position: absolute इसे लेआउट प्रवाह से हटा देगा और आपकी समस्या को हल कर सकता है - तत्व DOM में रहेगा लेकिन दूसरों को प्रभावित नहीं करेगा।


fwiw मुझे लगता है कि यह एक महान समाधान है यदि आप कुछ विशिष्ट स्थितियों में, एक कॉलम छिपाना चाहते हैं। इसके अतिरिक्त मेंopacity: 0
ग्राफो

-5

आप सेट कर सकते हैं

<table>
  <tr style="visibility: hidden"></tr>
</table> 

5
साथ visibility: hidden;तत्व अभी भी अंतरिक्ष में ले जाएगा, कि बीच का अंतर है visibilityऔर displayगुण
दिमित्री Pashkevich

इस तरह का उपयोग करें<table><tr style="display: none;"><td></td></tr></table>
सानू
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.