2009-09-02 18 views
19

मेरे पास कई टेबल हैं, जिनमें नेस्टेड टेबल हैं। मैं कुछ तालिका कक्षों को छुपाने के लिए jQuery का उपयोग कर रहा हूं क्योंकि संख्या खाली है या सामग्री अप्रासंगिक है।jQuery आंशिक चयनकर्ता

मैं सभी टीडी को छिपाने के लिए jQuery का उपयोग करता हूं और फिर उन्हें दिखाने के लिए jQuery, उदाहरण के लिए, यदि उनमें <P> है।

दुर्भाग्यवश कुछ टीडी में कुछ भी शामिल नहीं है लेकिन अभी भी दिखाना आवश्यक है। कक्षा टीडी के लिए दिया जाता है तो मैं नहीं होते उन सब (समझदारी) के लिए कोड के लिए सक्षम हो गतिशील है लेकिन वे सभी अंत करना 'नोड'

मैं सोच रहा था इसके यदि संभव हो तो की तरह कुछ करने के लिए ...

$(function() { 
    $('TR .*Node').css('display','inline'); 
}); 
+1

थोड़ा unreleated साथ वापस लौटने सकते हैं, लेकिन वास्तव में क्या '$ (समारोह करता है() {... }); थोड़ा मतलब है? उसमें क्या अंतर है और सिर्फ सामग्री लिख रहा है? क्या यह गुंजाइश के साथ है? – Eric

+0

इसे लोड –

+0

पर निष्पादित किया जाएगा, इसलिए '$ (दस्तावेज़) .ready()', या '$ (विंडो) .load()' के लिए एक शॉर्टेंड होगा? – Eric

उत्तर

38

यह Nodeके साथ किसी भी टीडी का चयन करेगा उनके वर्ग के नाम में।

$('td[class*=Node]').css('display','inline'); 

यह अपने वर्ग नाम के अंत में Nodeके साथ किसी भी टीडीएस का चयन करेंगे।

$('td[class$=Node]').css('display','inline'); 
मन में

भालू कि .show() मोटे तौर पर एक ही बात .css('display','inline');

+1

बस एक नोट: मुझे हाल ही में फ़ायरफ़ॉक्स में $ = संस्करण के साथ कुछ परेशानी हुई है। यदि आपको अपनी कक्षाओं को थोड़ा अलग तरीके से डिजाइन करने पर विचार करने में एक ही समस्या है। याद रखें, आप प्रति तत्व एक वर्ग तक सीमित नहीं हैं। – krdluzni

+2

जो मुझे याद दिलाता है, 'टीडी [वर्ग $ = नोड]' '* * * * मिलान नहीं होगा ', क्योंकि क्लास टेक्स्ट _show के लिए 'node' – Eric

+0

+1 में समाप्त नहीं होता है()_ टिप्पणी। – NVRAM

3

रूप [attribute$="value"] चयनकर्ता आप गुण है कि एक विशेष मूल्य के साथ समाप्त से मेल दूँगी करता है। ध्यान दें कि सीएसएस को बदलने के बजाय सीधे show() का उपयोग करके आप जिस तत्व को प्रकट कर रहे हैं उसकी प्रदर्शन विशेषताओं को बनाए रखेंगे। क्या तुम सच में इनलाइन प्रदर्शित करने के लिए उन्हें मजबूर करने के लिए चाहते हैं, आप इसे वापस सीएसएस विधि के लिए display: inline

$('td[class$="Node"]').show(); 
2
$(function() { 
    $('td[class*=Node]').css('display','inline'); 
}); 
संबंधित मुद्दे