2009-11-04 29 views
11

के अंदर एक तत्व का चयन मैं अपनी तालिका में से एक के टीडी के अंदर एक तत्व का चयन करना चाहते हैं, लेकिन मैं वास्तव में वाक्य रचना समझ में नहीं आता। यह है कि मैं क्या करने की कोशिश की है:JQuery एक टीडी

$("table > td:#box") 

यह मेरी मेज संरचना का एक नमूना है:

<div id="main"> 
<div id="today"> 
    <table id="list" width="100%" cellpadding="4" cellspacing="0" border="0" style="font-size: 10px; border-collapse:collapse;"> 
    <tr id="109008"> 
    <td class="tdstd"> 
    <a class="box" href="link"></a> 
    </td> 

या Chrome की डोम निरीक्षक के साथ:

alt text

+0

कृपया HTML कोड का प्रासंगिक टुकड़ा पोस्ट करें और बताएं कि आप वास्तव में किस भाग से बाहर निकलना चाहते हैं। – BalusC

+0

शायद आप तालिका और तत्व के साथ HTML का एक स्निपेट दिखा सकते हैं। तत्व आईडी "बॉक्स" के साथ एक div है? –

+0

आपको जो चाहिए उसे पूरा करने के लिए - आपके पास टेक्स्ट है और आप "टेक्स्ट" या "आईडी" प्राप्त करना चाहते हैं? – cupakob

उत्तर

17

ठीक है, "#box "आईडी" बॉक्स "के साथ एक डॉम ऑब्जेक्ट का मतलब है, क्योंकि यह एक अद्वितीय आईडी है। आप इसे सीधे चुन सकते हैं। लेकिन आपका कोड बताता है कि आपके पास आईडी "बॉक्स" के साथ कई तत्व हैं जिन्हें आपको बदलना है। आप टीडी के अंदर अपने तत्व के लिए एक वर्ग आवंटित करने चाहिए, या यदि यह बॉक्स में केवल DIV या स्पैन द्वारा किया जा रहा अद्वितीय है, तो आप इसे इस तरह उपयोग कर सकते हैं:

$("table td .box") 

नोट ">" चयनकर्ता कि इसका मतलब है कि टीडी टेबल का एक सीधा बच्चा हो गया है, और मैं, आप कम से कम के बीच में एक टी.आर. स्तर है यह सोचते हैं रहा हूँ ताकि या तो काम नहीं करेगा। मेरे उदाहरण के ऊपर किसी भी टीडी है कि किसी भी मेज पर एक बच्चा है अंदर वर्ग "बॉक्स" के साथ हर तत्व से मेल खाता है।

जाहिर है मैं भी मेज पर एक वर्ग सेट होता है, और कुछ इस तरह का उपयोग करें:।

$("table.boxes td .box") 

जैसा कि आप गलती से गुंजाइश आप में काम करना चाहते हैं बाहर की चीज़ों का चयन करता है नहीं है


अब आप एचटीएमएल जोड़ लिया है इसलिए मैं अपने प्रश्न को संपादित कर रहा हूँ:

$("table#list a.box") 
+2

+1 का चयन करना चाहता हूं लेकिन उसके पास पहले से ही तालिका पर एक आईडी है जो कि कहीं भी अधिक कुशल है - $ ('# list td a.box') "सही" समाधान है – annakata

+0

सही, लेकिन मैं आमतौर पर पदानुक्रमित चयन करते समय टैग नाम का उपयोग करें ताकि मैं देख सकूं कि मैं किस पृष्ठ का चयन कर रहा हूं। अगर आईडी "टेबललिस्ट" थी, तो मेरे पास नहीं होगा, लेकिन "सूची" इतनी सामान्य है कि अगर मेरा jQuery कोड लंबा चल जाएगा तो मैं उलझन में रह सकता हूं। लेकिन जो कुछ भी कहा गया है, आप स्पष्ट रूप से सही हैं :) – Sandman

1
$("table tr td .box") 

चाल करना चाहिए।

-2

मुझे यकीन है कि नहीं कर रहा हूँ, लेकिन मुझे लगता है कि, आप $("td#box") जरूरत है ...

+1

यह सही नहीं है - # मतलब आईडी चयनकर्ता है और "बॉक्स" की आईडी के साथ कोई विस्तार नहीं है, शुरुआत में इस तरह के – annakata

+0

के साथ एक टीडी अकेले ही $ ("टेबल> टीडी: # बॉक्स") और कोड की शांति नहीं :) :) – cupakob

+0

हाँ मैंने देखा कि - यही कारण है कि मैंने आपको कम नहीं किया, केवल टिप्पणी की :) – annakata

0

इस चयनकर्ता ...

table td a.box 

एक class विशेषता है कि साथ a टैग लगाने के लिए jQuery कहता है " डिब्बा"। और यह a टैग एक td एक table के अंदर है कि अंदर होना चाहिए।

9

सबसे कारगर चयनकर्ता होगा:

$('#list').find('a.box'); 

या:

$('a.box', $('#list')[0]); 

तालिका id पहले तुम सिर्फ मेज पर अपने दायरे की स्थापना की है का चयन करके और फिर आप तत्व की खोज कर सकते कि आपको उस तालिका में आवश्यकता है।

दूसरा चयनकर्ता वही है, आप कुछ चुन रहे हैं और आप दूसरे पैरामीटर के रूप में दायरा दे रहे हैं।

यह पहली बार एक को पढ़ने के लिए सिर्फ आसान है।

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