2011-08-06 16 views
16

मैं रेमी शार्प के labelover plugin for jQuery का उपयोग कर रहा हूं और मैं विशेषता for और nature विशेषता वाले लेबल को बाहर करना चाहता हूं।jQuery लेबल 'for' विशेषता चयनकर्ता

$(document).ready(function() { 
    $('form.default label').labelOver('over'); 
}); 

और मैं क्या करने की कोशिश कर रहा हूँ:

$(document).ready(function() { 
    $('form.default label').not($('label').attr('for','nature')).labelOver('over'); 
}); 

किसी को भी देख सकते हैं, जहां मैं गलत जा रहा हूँ

यहाँ कोड काम कर का एक उदाहरण है? ऐसा लगता है कि मैं जो कुछ करने की ज़रूरत है उसके करीब हूं।

उत्तर

2

.attr('for', 'nature')nature

करने के लिए for विशेषता के लिए मूल्य स्थापित कर रही है विशेषताओं के आधार पर फ़िल्टर करने के लिए, का उपयोग [attribute="value"]:

$('form.default label').not('[for="nature"]').labelOver('over') 
25

attr एक चयनकर्ता नहीं है, यह एक समारोह में उस विशेषता के साथ विशेषता मान हो जाता है 1 तर्क के रूप में नाम दें, या इसे एक नए मान के साथ सेट करें यदि कोई 2ng तर्क के रूप में पारित किया गया हो।

इसके अलावा, आप, उन्हें अपने not कॉल के साथ चयन करने के बाद लेबल बाहर रखा गया है क्योंकि चयनकर्ता label सभी लेबल का मिलान नहीं हुआ, और attr जैसा कि मैंने कहा है कि फिल्टर नहीं किया था।

विशेषता के आधार पर चयन करने के लिए, इस का उपयोग करें:

$(document).ready(function() { 
    $("form.default label[for!='nature']").labelOver('over'); 
}); 

कि आप समझ गए होंगे कि [attribute='value'] एक विशेषता कुछ मान "बराबर" के लिए चयनकर्ता है, और [attribute!='value'] "इसके बराबर नहीं" संस्करण है इसका

संदर्भ देखें:
http://api.jquery.com/attribute-not-equal-selector/

संदर्भ के लिए सभी चयनकर्ताओं पर:
http://api.jquery.com/category/selectors/

यह भी मेरी JavaScript & Web Dev Newsletter site में संदर्भित है।

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