सारणी मान्य में एकाधिक <thead> / <tbody>?


82

इसके समान सूचियों की सूची की कल्पना करें:

var list = [
  { name: 'group1', 
    items: [ 1, 2, 3, 4, 5 ]
  },
  { name: 'group2', 
    items: [ 1, 2, 3, 4, 5 ]
  },
  etc...
]

अब पूरी "तालिकाएँ डेटा नॉट डिज़ाइन के लिए हैं" तर्क को भूलकर, मैं listएक अलग तालिका प्रदर्शित करने <thead>और <tbody>प्रत्येक प्रविष्टि के लिए एक तालिका प्रदर्शित करना चाहता था list

क्या यह तकनीकी रूप से मान्य है? यह ब्राउज़र में काम करता है, लेकिन मेरी मकड़ी के होश इस पर मरोड़ रहे हैं


1
आपके पास निश्चित रूप से कई tbodies हो सकते हैं, मुझे thead के बारे में देखने के लिए कल्पना की जांच करनी होगी।
केविन बी

2
@ केविनबी: IIRC सबसे अधिक एक थीड और एक टफूट पर: w3.org/TR/html-markup/table.html#table
Zeta

1
@ मेरा सवाल कई <thead>और <tfooter>तत्वों से है, नहीं <tbody>। वे समान नहीं हैं और अलग-अलग नियमों द्वारा तय किए गए हैं।
अल्बर्टजेलबेल

@ Dropped.on.Caprica: आह ठीक है, मुझे याद आया कि आप कई thead तत्वों को भी चाहते थे । मैंने वोट वापस कर दिया।
21

जवाबों:


120

आप कई के रूप में हो सकता है <tbody>के रूप में आप चाहते हैं तत्वों, लेकिन कोई अधिक से अधिक की एक-एक <thead>और <tfoot>संदर्भ :

सामग्री मॉडल:

इस क्रम में: वैकल्पिक रूप से एक कैप्शन तत्व, जिसके बाद शून्य या अधिक कोलग्रुप तत्व होते हैं, उसके बाद वैकल्पिक रूप से एक थ्रेड तत्व, जिसके बाद शून्य या अधिक tbody तत्व या एक या एक से अधिक tr तत्व होते हैं, उसके बाद वैकल्पिक रूप से एक tfoot तत्व होता है , वैकल्पिक रूप से एक के साथ अंतःक्षिप्त होता है । या अधिक स्क्रिप्ट-सहायक तत्व।


और आप प्रत्येक का वर्णन करने के लिए th scope=rowgroupएक नियमित अंदर का उपयोग कर सकते हैं । "उदाहरण" देखें । trtbody
CletusW

12

अधिकतम एक theadऔर एक tfoot की अनुमति है , इसलिए आपको अतिरिक्त हेडर नहीं बनाना चाहिए। आखिर thएक में theadअपने कॉलम के लिए एक अर्थ है, "दिन के समय", "तापमान", "बिल्लियों की राशि वर्तमान में आग पर" की तरह देता है।

यदि आपकी सूची में प्रविष्टियाँ संबंधित हैं तो वे सभी एक ही तालिका में होनी चाहिए और आपको उस संबंध को प्रदर्शित करने के लिए एक फिटिंग हैडर प्रदान करना चाहिए।

यदि प्रविष्टियाँ वास्तव में असंबंधित हैं, तो आपको उनमें से प्रत्येक के लिए एक एकल तालिका प्रदान करनी चाहिए। आप अभी भी एक ही सीएसएस लागू कर सकते हैं हर तालिका पर एक अच्छा परिणाम प्राप्त करने के लिए।


5
"यदि आपकी सूची में प्रविष्टियाँ संबंधित हैं, तो वे सभी एक ही तालिका में होनी चाहिए और आपको उस संबंध को प्रदर्शित करने के लिए एक फिटिंग हैडर प्रदान करना चाहिए" - मुझे लगता है कि एक ही हेडर को बहुत लंबी तालिका में दोहराना कभी-कभी उपयोगकर्ता के लिए वांछनीय होगा। कॉलम क्या हैं, यह याद रखने के लिए वापस ऊपर की ओर स्क्रॉल करने की आवश्यकता नहीं है। बेशक, इसके लिए अन्य समाधान हैं (उदाहरण के लिए जावास्क्रिप्ट "टेबल लाइनों पर" स्टिकी "टेबल हेडर या सीएसएस का उपयोग करने के लिए इसे अन्य पंक्तियों की तुलना में नेत्रहीन रूप से अलग बनाने के लिए)।
माइक

5

मैं इसे सिर्फ idविशेषताओं की तरह मानता हूं । उन्हें अद्वितीय माना जाता है, लेकिन आप वास्तव में इसे उसी पृष्ठ में फिर से उपयोग कर सकते हैं और आप अभी भी इसका चयन कर सकते हैं। यह कहा, सिर्फ इसलिए कि यह किया जा सकता है इसका मतलब यह नहीं किया जाना चाहिए।

मैं इसके खिलाफ सिफारिश करूंगा।


3
एक से अधिक होने के साथ गलत कुछ भी नहीं है <tbody>, लेकिन कल्पना के अनुसार सिर्फ एक <thead>और एक हो सकता है <tfoot>
पॉइंटी

मैं जो बता सकता हूं, वह उसे करने का सुझाव नहीं दे रहा था। यह कहते हुए कि यह ब्राउज़र में काम करता है?
AlbertEngelB

@ सबास पहला वाक्य यह ज्ञात कर रहा है कि आप आईडी की तरह ही अधिक जोड़ सकते हैं, लेकिन आपको ऐसा नहीं करना चाहिए।
जस्टिन

@ सेबस बेहतर? कभी-कभी मेरे सिर में जो होता है वह स्पष्ट होता है कि मैंने क्या रखा है: एस
जस्टिन

नहीं, मैं पूरी तरह से माफी मांगता हूं, गलती मेरी थी। चीयर्स!
सेबास
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.