2011-09-23 13 views
14

मेरे पास प्रत्येक पंक्ति के साथ एक सारणी है (एक इनपुट कमांड)। एक और जगह में, मैं इस राज्य से उस इनपुट कमांड के साथ कह रहा हूं, आप उस दूसरे राज्य में जाते हैं। मैं क्या करना चाहता हूं that input command को तालिका की उचित पंक्ति से लिंक करना है। कुछ इस तरह की कल्पना कीजिए:मैं एक HTML तालिका पंक्ति में एक लिंक नाम कैसे दे सकता हूं?

...link to row number <a href="#row2">2</a>... 

<table ...> 
    <tr> 
     <td>command</td> 
     <td>description</td> 
    <tr> 
    <tr> 
     <a name="row1"></a> 
     <td>A</td> 
     <td>input A</td> 
    <tr> 
    <tr> 
     <a name="row2"></a> 
     <td>B</td> 
     <td>input B</td> 
    <tr> 
</table> 

जैसा कि आप देख सकते हैं, मैं <tr> ब्लॉक में एक <a name="row2"></a> डालने की कोशिश की, लेकिन बात नहीं बनी (यह मेरे तालिका के शीर्ष के लिए लाता है)

क्या है मैं संभव करना चाहते हैं?

उत्तर

22

आप दो चीजों में से एक कार्य करें:

1) <tr> की आईडी गुण निर्धारित करें। <tr id="row2">...</tr>

या

2) <td> तत्व के अंदर <a> तत्व डाल दिया। यदि आप एक <table> अंदर नहीं बल्कि एक <th> या <td> अंदर किसी भी तत्व डालें, तो वह पूरे तालिका से पहले गाया प्राप्त करेंगे

+0

पहली विधि सही काम किया। त्वरित प्रश्न, यदि आप किसी भी टैग में 'आईडी' डालते हैं, तो क्या वह हमेशा उस स्थान पर एक एंकर बना देता है? या यह सिर्फ 'tr' के साथ है? – Shahbaz

+3

किसी भी तत्व की आईडी को एंकर के रूप में उपयोग किया जा सकता है। मुझे लगता है कि यह HTML 4.01 के साथ चला गया, और मुझे लगता है कि '' का उपयोग करके HTML5 में अप्रचलित के रूप में चिह्नित किया गया था। (http://www.w3.org/TR/html4/struct/links.html#h-12.2.3 और http://www.w3.org/TR/html5/obsolete.html) –

+0

पहली तकनीक काम करती है पूरी तरह से! दूसरी तकनीक में समस्या है कि कुछ टेबल बॉक्स के शीर्ष दिखाई नहीं दे सकते हैं, खासकर यदि वे अलग ऊंचाई हैं और एंकर सबसे ऊंचे बॉक्स के शीर्ष पर नहीं था। – PhilHarvey

1

हालांकि मेरे लिए गैर-सहज ज्ञान युक्त, लेकिन मैंने <a name="row2"></a> को पहले <td> ब्लॉक के अंदर रखा और यह काम किया!

+0

में (या ) के भीतर कुछ भी नहीं है)। मूल रूप से के अलावा इसे डालने का प्रयास कुछ भी अनदेखा किया जाता है। आप केवल तत्वों में सामान डाल सकते हैं। – evan

+0

हालांकि यह काम करता है, लेकिन समस्या यह है कि लिंक मुझे पंक्ति के शीर्ष की बजाय उस सेल में टेक्स्ट के शीर्ष पर ले जाता है, इसलिए यदि मेरे पास ऐसे कक्ष हैं जिनमें टेक्स्ट की कई पंक्तियां हैं और सभी कक्ष लंबवत केंद्रित हैं, यह मुझे बहुत दूर ले जाता है जहां बड़े सेल की लगभग आधे लाइनों को – Shahbaz

+0

नहीं देखा जा सकता है यह सही है - आप '' टैग सीधे ' 'टैग के अंदर नहीं डाल सकते हैं। जहां तक ​​मुझे पता है, '' के अंदर अनुमति देने वाला एकमात्र टैग '' है। –

1
<tr> 
    <td><a name="row2"></a></td> 
    <td>B</td> 
    <td>input B</td> 
<tr> 
+0

होना चाहिए यह मेरी तालिका – Shahbaz

+0

@Shahbaz हां में एक अतिरिक्त कॉलम बनाता है, वास्तव में, पहला' td' खाली है। मुझे लगता है कि क्या मतलब है ' बी '। – ADTC

1

आप कर सकता है (किसी भी तत्व के साथ प्रयास करें, ब्राउज़र अमान्य HTML दूर करने के लिए अपना सर्वश्रेष्ठ देता है) एक "डमी" लंगर पंक्ति:

<table ...> 
    <tr> 
     <td>command</td> 
     <td>description</td> 
    <tr> 
    <tr> 
     <td colspan="2" style="height: 1px;"><a name="row1"></a></td> 
    <tr> 
    <tr> 
     <td>A</td> 
     <td>input A</td> 
    <tr> 
    <tr> 
     <td colspan="2" style="height: 1px;"><a name="row2"></a></td> 
    <tr> 
    <tr> 
     <td>B</td> 
     <td>input B</td> 
    <tr> 
</table> 

आप अपनी तालिका (सीमाओं, पृष्ठभूमि, आदि) पर स्टाइल है, तो यह दिखाई दे रहा हो सकता है, लेकिन आप हमेशा विभाजक की तरह इन पंक्तियों शैली या उन्हें छलावरण सकता है।

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