Jquery में एक निश्चित गुण मान वाले सभी तत्वों को खोजें


88

मुझे उन सभी तत्वों को खोजने की आवश्यकता है जिनके पास एक विशेष विशेषता मूल्य है।

यहां मुझे वह div मिलनी चाहिए जो मुझे मिलनी चाहिए (मेरे पास उनमें से कई हैं ..)

<div imageId='imageN'>...

मुझे केवल उन divs के माध्यम से लूप करने की आवश्यकता है, जिनके पास div है imageId='imageN'


6
मैं class="imageN"मान्य HTML के लिए उपयोग करने की सलाह दूंगा। या तो data-imageId="imageN"वैध HTML5 के लिए। पूर्व के साथ, आप वर्ग चयनकर्ता का उपयोग करने में सक्षम होंगे।
एंडी ई

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

3
यू कई वर्गों class="image imageN"हो सकता है अगर वह मदद करता है।
वैल

क्लास के नाम पर चयन क्यों नहीं किया जाता है, अगर उनके पास पहले से ही समान क्लास है?
प्रॉक्सिस असिलीन

जवाबों:


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

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


4
@ThiefMaster - यदि विशेषता मान स्थिर नहीं है, (अर्थात यह भिन्न होगा) तो इसे कैसे खोजें?
डेवलपर

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

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

1
यह समाधान वास्तव में इस पृष्ठ के शीर्षक का जवाब नहीं देता है। तुम ऐसे तत्वों को खोज रहे हो जो डिव हैं। एक उचित समाधान वह है जो वास्तविक तत्व का अज्ञेय है।
AndroidDev

164

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

$("*[attr-name]")

आशा है कि जो कोई भी इस पृष्ठ पर उतरने में मदद करता है वह उसी चीज की तलाश में है जो मैं था :)।

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

$("[attr-name]")

उत्तम! मुझे इसकी ही खोज थी।
पॉलियस मटुलियोनिस

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

3
क्या उस और के बीच कोई अंतर है $("[attr-name]")? (यानी नहीं *)
मैथ्यू

हाँ उनके बीच कुछ अंतर है। स्टार नोटेशन फ़ायरफ़ॉक्स पर त्रुटि बढ़ाता है !!!! (अनसैप्ड ...)
ozz

इसे जोड़कर, आप एक विशेषता मान भी शामिल कर सकते हैं, जैसे:$("[data-toggle='modal']")
मेल्टडॉग

12

इसे टैग नहीं कहा जाता है; जिसे आप खोज रहे हैं उसे html विशेषता कहा जाता है।

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

5

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

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

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

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

यह उन divs का DOM अरेंजमेंट लौटाएगा जिनके पास id है abc:

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

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


4

स्ट्रिंग संघनन का उपयोग करें। इसे इस्तेमाल करे:

$('div[imageId="'+imageN +'"]').each(function() {
    $(this);   
});
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.