2012-07-30 25 views
5

मैं अपने पृष्ठ में कुछ ड्रॉपडाउन सूचियों के लिए गतिशील रूप से शैली लागू करने की कोशिश कर रहा हूं। JQuery एडक्लास का उपयोग करके वास्तव में कक्षा को सभी 'चयन' तत्वों में जोड़ दिया जाता है, क्योंकि मैं इसे अपने क्रोम कंसोल से देख सकता हूं। हालांकि शैलियों को तत्वों पर लागू नहीं किया जाता है।jQuery एडक्लास शैली गतिशील रूप से लागू नहीं होता

अब यदि मैं व्यक्तिगत रूप से प्रत्येक चयन तत्व में कक्षा को मैन्युअल रूप से जोड़ता हूं, और फिर पृष्ठ को सहेजता हूं और इसे रीफ्रेश करता हूं, तो शैली तत्व पर लागू होती है।

कोई विचार क्यों jquery कक्षा इंजेक्शन के साथ स्टाइल लागू नहीं है?

$("select").addClass("select js-select"); 
+0

क्या आप jsFiddle पर एक उदाहरण पोस्ट कर सकते हैं? – j08691

+0

क्या आप एचटीएमएल और सीएसएस का नमूना पोस्ट कर सकते हैं? – hradac

+0

कृपया एक पहेली पोस्ट करें। आपकी मदद करने में हमारी मदद करें! – SexyBeast

उत्तर

2

आपने कहा कि शैलियों को लागू नहीं किया गया है, लेकिन क्या वे चुनिंदा इनपुट में "जेएस-सिलेक्ट का चयन करें" वर्ग हैं? फिर सीएसएस या शायद ब्राउज़र के साथ कुछ समस्या होनी चाहिए।

$ ("चयन करें")। एडक्लास (..) काम करना चाहिए, यह आवश्यक नहीं है कि आप आईडी या कक्षा द्वारा निर्दिष्ट करें।

+0

आप सही हैं, एक बार मुझे एहसास हुआ कि वह वास्तव में चुनिंदा तत्व को लक्षित कर रहा था। – Chris

+0

अब यह हल हो गया है। इंजेक्शन सही ढंग से काम कर रहा है के साथ पहेली है। सीएसएस और जावास्क्रिप्ट के साथ समस्या शामिल थी। वे पहेली में संसाधनों के रूप में उन्हें जोड़ने के दौरान सही तरीके से काम नहीं कर रहे थे, हालांकि उन्हें लिंक के रूप में जोड़ते समय, यह ठीक काम करता है। पहेली: [लिंक] (http://jsfiddle.net/5qKV2/) –

+0

तो सबकुछ अब काम करता है? मदद करने के लिए खुश ;)। – LazyTarget

2

इस उदाहरण काम करता है:

<p><a href="#" id="clicker">Add Class</a></p> 
<div id="select">Hello World</div> 

जावास्क्रिप्ट

$("#clicker").click(function() { 

    $("#select").addClass("select js-select"); 
}); 

अपने कोड को देख से ऐसा प्रतीत होता है कि $ ("का चयन करें") या तो एक आईडी या वर्ग चयनकर्ता होना चाहिए इस पर। उन चयनकर्ताओं में से एक होने के कारण, आपका कोड शैलियों को लागू करने के लक्ष्य को जानेंगे। अन्यथा आपका कोड ठीक काम करता है।

शुभकामनाएं, और उम्मीद है कि इससे मदद मिलती है।

+0

यहां jsfiddle है, आशा है कि आप लोग मेरी मदद कर सकते हैं: [link] (http://jsfiddle.net/gc3wQ/2/) –

0

यदि आप ऑनडोड को ऑनलोड पर बदलते हैं तो ठीक काम करता है। http://jsfiddle.net/gc3wQ/9/

+0

अभी भी काम नहीं कर रहा है। लागू शैलियों काफी महत्वपूर्ण हैं, और वे बहुत ध्यान देने योग्य होगा। मैं देखता हूं कि 'ऑनलोड' का उपयोग कक्षाओं को इंजेक्ट कर रहा है, हालांकि शैलियों को लागू नहीं किया जाता है। फिर भी यदि आप कक्षाओं को चुनिंदा तत्वों में मैन्युअल रूप से डालते हैं, तो शैलियों को लागू किया जाता है। –

+0

अब यह काम करता है, लेकिन केवल jsFiddle में नहीं। http://jsfiddle.net/gc3wQ/11/ अपने सभी jQuery कोड को $ (दस्तावेज़) के पक्ष में लपेटने की आदत पर लें। पहले (फ़ंक्शन() { }); यह भी देखें: http://docs.jquery.com/Tutorials:Introducing_%24%28document%29.ready%28%29 – LazyTarget

+0

क्या आप पहेली में लागू शैलियों को देख रहे हैं? मैं अभी भी उन्हें नहीं देख रहा हूँ। शैलियों का विचार पाने के लिए कृपया मैन्युअल रूप से शैलियों को पहले जोड़ें, मैं इंजेक्ट करने की कोशिश कर रहा हूं। मैं इन शैलियों को अपने पृष्ठ पर एक गतिशील रूप में इंजेक्शन दे रहा हूं, इसलिए सैद्धांतिक रूप से यदि मैं शैलियों को चुनिंदा तत्वों में इंजेक्ट कर सकता हूं तो मैं डोम पर बना हूं, मुझे गतिशील रूप से बनाए गए तत्वों पर शैलियों को इंजेक्ट करने में सक्षम होना चाहिए। –

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

  • कोई संबंधित समस्या नहीं^_^