2009-12-15 10 views
5

एचटीएमएल:jQuery: मैं अपने माता-पिता के सभी पी बच्चों का चयन कैसे करूं?

<style> 
    hidden { display:none;} 
</style> 

<div id="div1"> 
    <a href="#" onclick="expandSiblingParagraphs(this)">+</a> 
    <p>Hello</p> 
    <p class="hidden">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. 
    Integer vulputate, nibh non rhoncus euismod, erat odio pellentesque lacus, 
    sit amet convallis mi augue et odio. Phasellus cursus urna facilisis quam. 
    Suspendisse nec.</p> 
    <p class="hidden">Another hidden paragraph</p> 
</div> 

जावास्क्रिप्ट मैं कोशिश कर रहा हूँ:

var expandSiblingParagraphs = function(elt){ 
    $(this).parent()....? 
}; 

मैं सभी पी कि क्लिक किए गए तत्व के पेरेंट के बच्चे हैं का चयन करें, और उनमें से छिपा वर्ग निकालना चाहते हैं। तर्क में मैं युक्त div की आईडी के बारे में कुछ भी नहीं मानना ​​चाहता, या यहां तक ​​कि एक div भी है। मैं सिर्फ माता-पिता कंटेनर के सभी पी बच्चों को चाहता हूं।

मैं यह कैसे कर सकता हूं?

the selector syntax में, मैं वंशजों या बच्चों को पाने का एक तरीका ढूंढ सकता हूं। मुझे माता-पिता या वरदान का चयन करने का कोई रास्ता नहीं मिल रहा है। क्या मैं कुछ भूल रहा हूँ? धन्यवाद।

उत्तर

15
$(this).parent().children("p.hidden").removeClass("hidden"); 
+3

यह पी पाता है जो तत्काल बच्चे हैं। $ ("div p") स्तर के बावजूद सभी डीवी टैग के भीतर सभी पी टैग पाता है। –

0

मैं सबसे करीब का उपयोग कर की तरह है, यह बुलबुले के बाद से:

$(this).closest("div").find("p").show() 

या विचार करें:

$(this).siblings("p").show(); 

[अपडेट] नीचे टिप्पणी और अन्य उत्तर के आधार पर:

$(this).siblings("p.hidden").removeClass("hidden"); 
+0

। शो() डो वर्ग विशेषता को हटाएं, लेकिन निकटतम –

+0

में सबसे अच्छा विचार है क्या आपको लगता है कि यह बेहतर क्यों है, इस पर विस्तार करना आपको लगता है। यह दिलचस्प लग रहा है लेकिन मैंने इस दृष्टिकोण को कहीं और नहीं देखा है। –

+0

'निकटतम' वाली समस्या यह है कि आप 'div' की उपस्थिति मान रहे हैं, जिसे ओपी नहीं चाहता है। भाई बहन, हालांकि, एक अच्छा विचार है। – Joel

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