2011-11-14 8 views
8

मैं इस समय कुछ जटिल रूप पर काम कर रहा हूं।इस इनपुट के भीतर सभी इनपुट, लेबल, चयन इत्यादि का चयन करें - प्रत्येक लूप

बस सोच रहा है, वहाँ यह करने के लिए किसी भी बेहतर तरीका है:

$('.selector').each(function(){ 

    $("input", this).prop('disabled', true); 
    $("select", this).prop('disabled', true); 
    $("label", this).prop('disabled', true); 
    $("textarea", this).prop('disabled', true); 

}); 

मैं this (वर्तमान में .selector के माध्यम से लूप में चलाए) के भीतर सभी आदानों का चयन करना चाहते। क्या मैं इसे सही तरीके से कर रहा हूं?

+1

हाँ, तकनीकी रूप से। यद्यपि @ बोल्टक्लॉक का उत्तर नीचे ऐसा करने का एक बेहतर तरीका है। – rossipedia

उत्तर

16

यह ठीक है, लेकिन यह आसान बनाने के लिए आप आप समूह में होगा के रूप में किसी अन्य चयनकर्ताओं अल्पविराम का उपयोग करने में सक्षम होना चाहिए:

$('.selector').each(function() { 
    $('input, select, label, textarea', this).prop('disabled', true); 
}); 

केवल एक चीज आप कर रहे हैं उन तत्वों पर है कि संपत्ति की स्थापना की जाती है , तो आपको वास्तव में .each() पाश की आवश्यकता नहीं है। आपको लगता है कि सुरक्षित रूप से ड्रॉप कर सकते हैं और इसे कम इस एक लाइनर के लिए:

$('input, select, label, textarea', '.selector').prop('disabled', true); 
+0

'$ (" चयनकर्ता इनपुट, चयनकर्ता चयन, चयनकर्ता लेबल,। चयनकर्ता textarea ") है। प्रोप ('अक्षम', सत्य); समकक्ष? –

+0

@ ब्रायन एम। हंट: यह होना चाहिए। साथ ही, '$ (' चयनकर्ता ')। (' इनपुट, चयन, लेबल, टेक्स्टरेरा ') खोजें। प्रोप (' अक्षम ', सत्य); ' – BoltClock

+0

साफ। मुझे आश्चर्य है कि उनके बीच कोई प्रदर्शन अंतर है या नहीं। –

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