डेटा-खारिज तत्व को पूरी तरह से हटा देता है। इसके बजाय jQuery के .hide () पद्धति का उपयोग करें।
फिक्स-इट-क्विक मेथड:
इनलाइन पर इस तरह से तत्व को छिपाने के लिए इनलाइन जावास्क्रिप्ट का उपयोग करना:
<div class="alert" style="display: none">
<a class="close" onclick="$('.alert').hide()">×</a>
<strong>Warning!</strong> Best check yo self, you're not looking too good.
</div>
<a href="#" onclick="$('alert').show()">show</a>
http://jsfiddle.net/cQNFL/
हालांकि यह केवल तब उपयोग किया जाना चाहिए जब आप आलसी हों (जो कि आपके लिए एक अच्छी बात है यदि आप एक रखरखाव योग्य ऐप चाहते हैं)।
यह सही तरीका है:
किसी तत्व को छिपाने के लिए एक नया डेटा गुण बनाएँ।
जावास्क्रिप्ट:
$(function(){
$("[data-hide]").on("click", function(){
$("." + $(this).attr("data-hide")).hide()
// -or-, see below
// $(this).closest("." + $(this).attr("data-hide")).hide()
})
})
और फिर मार्कअप में डेटा-डिस्क्रिप्शन को डेटा-छिपाने के लिए बदल दें। Jsfiddle पर उदाहरण ।
$("." + $(this).attr("data-hide")).hide()
यह डेटा-छिपाने में निर्दिष्ट वर्ग के साथ सभी तत्वों को छिपाएगा, अर्थात: data-hide="alert"
अलर्ट वर्ग के साथ सभी तत्वों को छिपाएगा।
Xeon06 ने एक वैकल्पिक समाधान प्रदान किया:
$(this).closest("." + $(this).attr("data-hide")).hide()
यह केवल निकटतम मूल तत्व को छिपाएगा। यह बहुत उपयोगी है यदि आप प्रत्येक अलर्ट को एक अद्वितीय वर्ग नहीं देना चाहते हैं। कृपया ध्यान दें, हालांकि, आपको अलर्ट के भीतर क्लोज बटन लगाने की आवश्यकता है।
Jquery doc से .closest की परिभाषा :
सेट में प्रत्येक तत्व के लिए, पहला तत्व प्राप्त करें जो स्वयं तत्व का परीक्षण करके और डोम ट्री में अपने पूर्वजों के माध्यम से पता लगाकर चयनकर्ता से मेल खाता है।
alert
पृष्ठ पर एक ही वर्ग (यानी ) वाले हर तत्व को छिपा देगा । इसके लिए एक समाधान इस लाइन के साथ कॉलबैक की सामग्री को प्रतिस्थापित करना होगा$(this).closest("." + $(this).attr("data-hide")).hide();
, जो केवल निकटतम मूल तत्व को प्रभावित करेगा, यह देखते हुए कि खारिज बटन आमतौर पर अलर्ट के भीतर रखा जाता है जो इसे प्रभावित करता है।