2010-02-11 25 views
15

मेरे पास 4 एंकर हैं, मैं एक एंकर पर वर्तमान की एक कक्षा जोड़ना चाहता हूं क्योंकि इसे क्लिक किया गया है और उसी समय कक्षा को अन्य 3 से हटा दिया गया है। मेरा कोड यहाँ है। मैं क्या गलत कर रहा हूं?jquery add delete

if ($("ul#thumb a").hasClass("current") { 
    $("ul#thumb a").removeClass("current"); 
    $(this).addClass("current"); 
}); 

और मेरे एचटीएमएल इस तरह दिखता है:

<ul id="thumbs"> 
    <li> 
     <!-- intro page navi button --> 
     <a id="t0" class="active" name="t0">The Company</a> 

     <ul class="navi"> 
      <li><a style="display:none"></a></li> 
      <li><a id="t1" name="t1">The Brief</a></li> 
      <li><a id="t2" name="t2">The Solution</a></li> 
      <li><a id="t3" name="t3">The Result</a></li> 
     </ul> 

    </li> 
</ul> 
+0

आपका HTML कैसा दिखता है? – Sampson

+0

वास्तव में क्या काम नहीं कर रहा है? क्या यह कक्षा को हटा नहीं रहा है या क्या यह कक्षाएं नहीं जोड़ रहा है? इसके अलावा, यह jQuery की पूरी राशि की तरह नहीं दिखता है। आपको किसी प्रकार की '$ (' ul # thumb a ') की आवश्यकता है। (Function() {...}) पर क्लिक करें; इसे लपेटने के लिए। –

+0

@ टोफर मैंने अपना एचटीएमएल – mtwallet

उत्तर

29

घटना प्रतिनिधिमंडल का उपयोग करके, हम केवल सभी क्लिक ईवेंट के लिए एक हैंडलर बाँध। जब एक लंगर (.current लंगर के अलावा अन्य) क्लिक किया जाता है, तो हम अपने वर्ग के .current लंगर पट्टी, और क्लिक किया लंगर नई वर्तमान एक बनाने के:

$("#thumbs").on("click", "a:not(.current)", function (event) { 
    $(".current", event.delegateTarget).removeClass("current"); 
    $(this).addClass("current"); 
}); 
+0

+1 - अच्छी पकड़। मैंने पोस्ट संपादित किया और यह नहीं देखा कि = पी –

+0

@ जोनाथन मैंने अपना एचटीएमएल – mtwallet

+0

@ जोनाथन सैम्पसन दिखाने के लिए मेरी पोस्ट में संशोधन किया है 'e.preventDefault();' मतलब क्या है? – ant

0

मुझे लगता है कि यह आप

$("a").click(function() { 
    $('a').removeClass('current'); 
    var id = $(this).attr('id'); 
    $('#'+id).addClass('current'); 
}); 
में मदद मिलेगी
+0

आप '$' और 'jQuery' क्यों मिश्रण कर रहे हैं? आपको एक चुनना चाहिए और इसके साथ रहना चाहिए। – Lix

+1

क्षमा करें यह गलती थी .. आप एक का उपयोग कर सकते हैं – Raghvendra

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