मैं एक jQuery समारोह जो एक fieldset जब इसकी कथा क्लिक किया जाता है की सामग्री की दृश्यता को टॉगल करता है, बस fieldset सीमा छोड़ने (यदि वहाँ एक है) और किंवदंती दिखा दिया है:पतन fieldset जब कथा तत्व क्लिक
$('legend.togvis').click(function() {
$(this).siblings().toggle();
return false;
});
यह तब तक बढ़िया काम करता है जब तक फ़ील्ड में टेक्स्ट नोड्स न हों।
<fieldset><legend class='togvis'>Click Me</legend>
<p>I toggle when the legend is clicked.</p>
But I'm a recalcitrant text node and refuse to toggle.
</fieldset>
पाठ को चालू करने के प्रयास में नोड भी मैं इस कोशिश की:
$('legend.togvis').click(function() {
$(this).parent().contents().not('legend').toggle();
return false;
});
जो पहले समारोह के रूप में एक ही काम करता है। और यह:
$('legend.togvis').click(function() {
$(this).parent().contents(":not(legend)").toggle();
return false;
});
जो त्रुटि फेंकता
Message: 'style.display' is null or not an object
Line: 5557
Char: 3
Code: 0
URI: http://code.jquery.com/jquery-1.4.4.js
कैसे एक fieldset (ऋण कथा) जब कथा क्लिक किया जाता है टॉगल करने के लिए की पूरे सामग्री प्राप्त करने के लिए पर कोई विचार?
ईटीए Eibx
$('legend.togvis').click(function() {
$(this).parent().contents().filter(
function() { return this.nodeType == 3; }).wrap('<span></span>');//wrap any stray text nodes
$(this).siblings().toggle();
});
ऐसा लगता है कि समस्या यह है कि टेक्स्ट नोड्स शैली नहीं है/नहीं। चूंकि '.ogoggle() 'नोड के सीएसएस को प्रभावित करके काम करता है, यह टेक्स्ट नोड्स को प्रभावित नहीं कर सकता है। शायद मुझे फ़ील्डसेट की सामग्री '.data() 'में स्टोर करने की आवश्यकता है और फिर बच्चों को हटा दें? – dnagirl