मैं वेब accordion की तरह कुछ बनाने की कोशिश कर रहा हूं।JQuery अगला() - केवल कक्षाओं का उपयोग करके अगले भाई को प्राप्त करना
दृश्य उदाहरण:
[TITLE DIV 1]
[CONTENT DIV 1]
[TITLE DIV 2]
[CONTENT DIV 2]
[TITLE DIV 3]
[CONTENT DIV 3]
मैं टॉगल करने के लिए सक्षम होना चाहते हैं (jQuery समारोह टॉगल()) "सामग्री डिव" संबंधित "शीर्षक डिव" पर क्लिक करके।
मैंने निम्नलिखित की कोशिश की है, लेकिन यह काम नहीं करता है।
HTML:
<div class="topSeparator"></div>
<div class="titleDiv">
<h1>Title 1</h1>
</div>
<div class="bottomSeparator"></div>
<div class="contentDiv"><h2>Content 1</h2></div>
<div class="topSeparator"></div>
<div class="titleDiv">
<h1>Title 2</h1>
</div>
<div class="bottomSeparator"></div>
<div class="contentDiv"><h2>Content 2</h2></div>
jQuery:
$('.titleDiv').click(function() {
$(this).next('.contentDiv').toggle();
});
मैं जैसे मेरी समारोह प्रक्रिया का वर्णन होगा:
- आप "titleDiv" नामक एक वर्ग के साथ एक तत्व पर क्लिक करते हैं, कार्य करें:
1,1। उस क्लिक किए गए तत्व का चयन करें;
1.1.1। "ContentDiv" नामक कक्षा के साथ उस क्लिक किए गए तत्व के अगले भाई का चयन करें;
1.1.1.1। इस अंतिम तत्व पर फ़ंक्शन टॉगल() कार्य करें ("contentDiv" नाम की कक्षा के साथ);
ऐसा लगता है कि मैं गलत हूं या मुझे कुछ याद आ रही है।
।
मैं jquery 1.8.3 (सही ढंग से) सहित हूं।
यह कक्षाओं के बजाय आईडी का उपयोग करते समय काम करता है (मैं उनका उपयोग करने से बचने की कोशिश कर रहा हूं)।
मैंने क्लिक फ़ंक्शन के अंदर एक अलर्ट रखा और यह काम करता है (समस्या इसके अंदर है)।
धन्यवाद एंटोन इस्तेमाल कर सकते हैं। मैं अभी भी अगले ('। ContentDiv') और nextAll ('। ContentDiv') के बीच के अंतर को समझ नहीं पा रहा हूं, दोनों तत्वों को प्राप्त नहीं करना चाहिए? (अगली सभी को मिल जाएगा) – Edu
अगला तत्व सीधे प्राप्त करता है जिसके बाद इस मामले में नीचे Separator है।NextAll का उपयोग करने के बाद सभी तत्व प्राप्त होते हैं, लेकिन इसका उपयोग करते हुए: पहले चयनकर्ता ("। ContentDiv") के साथ पहला तत्व मिलता है – Anton
अगला नहीं होना चाहिए ('। ContentDiv') पहले अगले तत्व का चयन करें जो कि तर्क दिया गया है (कक्षा सामग्रीडिव)? – Edu