2011-03-23 14 views
9

अगर मेरे पास इस तरह के नामनामों के तत्व हैं:jQuery। क्लासनाम के साथ शुरू होने वाले सभी तत्वों का चयन करें

 .ses_0 .ses_1 .ses_2 .ses_3 

मैं सभी तत्वों का चयन कैसे कर सकता हूं और कुछ स्निपेट के साथ उनको प्रीपेड कर सकता हूं? कुछ ऐसा है:

 var sessions = $('*[class*=ses_]'); 

    for (var i = 0; i < sessions.length; i++) 
    { 
     sessions [i].prepend("<img src='/Content/img/caticon"+i+".png' />"); 
    } 

यह निश्चित रूप से काम नहीं करता है।

संपादित करें: अहह्ह ... अरे ऐसा लगता है कि मुझे केवल उन वर्गों को प्राप्त करने की आवश्यकता नहीं है जो .ses_ से शुरू होते हैं लेकिन <a> तत्व भी भीतर होते हैं। मैं उसे कैसे कर सकता हूँ?

मूल रूप से कुछ जो $(".ses_0 a") काम करता है, केवल मुझे सभी वर्गों को ses_

से शुरू करने की आवश्यकता है

उत्तर

19

आप बहुत करीब हैं:

// selects all that start with "ses_" 
var sessions = $('[class^="ses_"]'); 

तुम हो पाश भी काम करना चाहिए, लेकिन आप यह भी

sessions.each(function(index){ 
    this.prepend(... // and so on 
}); 
+1

ऊपर की एक प्रदर्शन इस्तेमाल कर सकते हैं: http://jsfiddle.net/Zikes/ZEhuK/ – Zikes

+0

क्या होगा यदि मुझे तत्वों के भीतर सभी एंकर (एक टैग) प्राप्त करने की आवश्यकता है, जो कक्षा का नाम ses_ से शुरू होता है? – Agzam

+0

बस चयनकर्ता '$ (' a [class^= "ses _"] 'की शुरुआत में' ए 'जोड़ें;' – Andreas

1

आप विशेषता का उपयोग कर सकते हैं चयनकर्ता के साथ शुरू होता है: http://api.jquery.com/attribute-starts-with-selector/

खबरदार है कि यह लगभग रूप में तेजी से का उपयोग कर के रूप में नहीं है तत्वों का चयन करने का नियमित तरीका।

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

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