2010-01-09 12 views
56

निम्न HTML को देखते हुए के लिए एक वर्ग निकालें:सभी चाइल्ड तत्व

<div id="table-filters"> 
    <ul> 
     <li class="active">blah</li> 
     <li>blah</li> 
     <li>blah</li> 
     <li>blah</li> 
    </ul> 
</div> 

jQuery चयनकर्ता के रूप में मेज-फ़िल्टर का उपयोग करना, मैं कैसे CLASS=ACTIVE होने तत्वों को साफ कर सकते हैं, कोई बात नहीं इस पर होने वाला जो LI ?

धन्यवाद

उत्तर

99

यह काम करना चाहिए:

$("#table-filters>ul>li.active").removeClass("active"); 
//Find all `li`s with class `active`, children of `ul`s, children of `table-filters` 
+1

धन्यवाद है कि चाल – AnApprentice

+0

ऊपर समाधान क्रोम में काम नहीं कर रहा था। इसलिए, मैंने इसे अभी $ ("# टेबल-फिल्टर> li.active") में बदल दिया है। removeClass ("सक्रिय"); Tq। – chandoo

25

आप भी इस तरह कर सकते हैं:

$("#table-filters li").parent().find('li').removeClass("active"); 
+1

यह संभव है, लेकिन jQuery के लिए प्रक्रिया करना कठिन है, इसलिए यदि आप तेज प्रतिक्रिया पर गिन रहे हैं तो आपको उपर्युक्त विधि का उपयोग करना चाहिए। इसके अलावा आप सभी 'li' का चयन क्यों करेंगे, फिर माता-पिता को 'li' ढूंढने के लिए प्राप्त करें और फिर सक्रिय कक्षा को हटा दें? बिट अनुत्पादक .. –

+0

जैसा कि मैंने ऊपर बताया है, यह करने का यह एक और तरीका है। – insomiac

+0

यह तब सहायक होता है जब चयनकर्ता स्वयं बहुत व्यापक होता है और आप एकल 'पैरेंट' तत्व के बच्चों तक सीमित होना चाहते हैं। – Jason

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