jquery

2011-02-10 4 views
65

में किसी निश्चित विशेषता मान के साथ सभी तत्व खोजें I मुझे उन सभी तत्वों को ढूंढने की आवश्यकता है जिनमें विशेष विशेषता मान है।jquery

यहाँ div मैं खोजने की जरूरत है (मैं उनमें से कई है ..)

<div imageId='imageN'>... 

मैं बस divs है, जिसके माध्यम से पाश की जरूरत imageId='imageN'

+6

मैं वैध HTML के लिए 'class =" imageN "' का उपयोग करने की अनुशंसा करता हूं। मान्य एचटीएमएल 5 के लिए या तो डेटा या छवि आईडी = "imageN" '। पूर्व के साथ, आप कक्षा चयनकर्ता का उपयोग करने में सक्षम होंगे। –

+0

एंडी, इसका कारण यह है कि, इन divs को कोड-बैक से गतिशील रूप से जोड़ा जाता है और अलग-अलग छवि आईडी हैं लेकिन समान वर्ग '। – Pabuc

+3

यदि आपके पास मदद मिलती है तो आपके पास एकाधिक कक्षाएं 'वर्ग = "छवि छवि एन" हो सकती हैं। – Val

उत्तर

105
$('div[imageId="imageN"]').each(function() { 
    // `this` is the div 
}); 

विशेषता के एकमात्र होने की जाँच करने के लिए, कोई फर्क नहीं पड़ता जो मूल्य, आप के बजाय चौथाई का भी उपयोग कर सकता है: $('div[imageId]')

+3

@TiefMaster - यदि विशेषता मान स्थिर नहीं है, (यानी यह अलग-अलग होगा) तो इसे कैसे ढूंढें? – Developer

+0

कुछ प्रश्न: 1- अन्य तत्वों के बारे में क्या ... 2- अन्य मूल्यों के बारे में क्या ... मेरे पास कई तत्वों पर विशेषता ** डेटा-भोजन ** हो सकता है: div's, img's और td's, जहां प्रत्येक के पास है एक अलग मूल्य। – dsdsdsdsd

+0

@ पार्थो गांगुली आप इस प्रकार एक चर का उपयोग करते हैं: $ ('div [imageId =' '+ variableName +' "] ') – Kama

11

यह एक टैग बुलाया नहीं कर रहा है; जो आप खोज रहे हैं उसे HTML विशेषता कहा जाता है।

$('div[imageId="imageN"]').each(function(i,el){ 
    $(el).html('changes'); 
    //do what ever you wish to this object :) 
}); 
128

हालांकि यह ठीक इस सवाल का जवाब नहीं है, मैं यहाँ उतरा जब तत्वों (संभावित रूप से अलग-अलग टैग नाम) का संग्रह प्राप्त करने के लिए एक रास्ता खोजते हैं, जिसमें केवल एक दिया गया विशेषता नाम होता है (विशेषता मान द्वारा फ़िल्टर किए बिना)। मैंने पाया कि मेरे लिए अच्छी तरह से काम करें:

$("*[attr-name]") 

आशा है कि कोई ऐसा जो यह पेज एक ही बात है कि मैं था :) की तलाश पर उतरने के लिए होता है में मदद करता है।

अद्यतन: ऐसा लगता है कि तारांकन आवश्यकता नहीं है, यानी कुछ बुनियादी परीक्षणों के आधार पर, निम्न ऊपर के बराबर होने का (मैट के लिए धन्यवाद इस ओर इशारा करते हुए के लिए) लगता है:

$("[attr-name]") 
+0

बिल्कुल सही! मुझे इसकी ही खोज थी। –

+0

क्या इसमें कोई प्रदर्शन समस्या नहीं है? – Pinoy2015

+0

काफी संभवतः ... मैंने प्रदर्शन पहलू की जांच नहीं की थी (उस समय मेरे उपयोग के लिए एक महत्वपूर्ण कारक नहीं था)। – sammy34

3

आप (^) चिह्न का उपयोग कर एक डीओएम तत्व का पता लगाने के लिए एक विशेषता के आंशिक मूल्य का उपयोग कर सकते हैं। उदाहरण के लिए आप इस तरह divs है:

<div id="abc_1"></div> 
<div id="abc_2"></div> 
<div id="xyz_3"></div> 
<div id="xyz_4"></div>... 

आप कोड का उपयोग कर सकते हैं:

<div id="abc_1"></div> 
<div id="abc_2"></div> 
:

var abc = $('div[id^=abc]') 

यह divs जो आईडी abc के साथ शुरू की है की एक डोम सरणी वापस आ जाएगी

यहां डेमो है: http://jsfiddle.net/mCuWS/

3

स्ट्रिंग concatenation का उपयोग करें। इसे आज़माएं:

$('div[imageId="'+imageN +'"]').each(function() { 
    $(this); 
});