मैं आईडी के लिए एक चर का उपयोग करके jQuery में एक तत्व का चयन कैसे करूं?


100

उदाहरण के लिए, निम्नलिखित id = "2" के साथ एक विभाजन का चयन करता है:

row = $("body").find("#2");

मैं ऐसा कुछ कैसे करूँ:

row_id = 5;
row = $("body").find(row_id);

उपरोक्त सिंटैक्स एक त्रुटि पैदा करता है। मैंने सफलता के बिना यहाँ jQuery के दस्तावेज और उत्तर की जाँच की।


6
वाह, पाँच जवाब जो बिलकुल एक जैसे हैं ...
Zifre

जवाबों:


189
row = $("body").find('#' + row_id);

अधिक महत्वपूर्ण बात यह है कि अतिरिक्त body.find का प्रदर्शन पर कोई प्रभाव नहीं है। ऐसा करने का उचित तरीका है:

row = $('#' + row_id);

46

सबसे छोटा रास्ता होगा:

$("#" + row_id)

शरीर में खोज को सीमित करने से कोई लाभ नहीं होता है।

इसके अलावा, आपको अपने नाम idको कुछ अधिक सार्थक (और पाओलो के जवाब के अनुसार HTML अनुपालन) पर विचार करना चाहिए , खासकर यदि आपके पास डेटा का एक और सेट है जिसे नाम देने की आवश्यकता है।


मुझे संक्षिप्त पसंद है। मैं सिर्फ qTip2 टूलटिप्स के साथ इसका इस्तेमाल करता हूं, बढ़िया काम करता है। मैं थोड़ा उत्सुक हूं कि प्रदर्शन का जुर्माना इन "बहुत समय में" उत्पन्न करने के लिए है जैसे कि उपयोगकर्ता इनपुट के जवाब में।
पीजे ब्रुनेट

26

$('body').find();आईडी से देखते समय करना आवश्यक नहीं है; कोई प्रदर्शन लाभ नहीं है।

कृपया यह भी ध्यान दें कि एक आईडी जो एक नंबर से शुरू होती है वह मान्य HTML नहीं है :

आईडी और NAME टोकन को एक अक्षर ([A-Za-z]) से शुरू होना चाहिए और किसी भी संख्या में अक्षरों, अंकों ([0-9]), हाइफ़न ("-"), अंडरस्कोर ("_") के बाद होना चाहिए। , कॉलन (":"), और अवधियों ("।")।



1

आपके कोड में दो समस्याएं हैं

  1. आईडी द्वारा एक तत्व खोजने के लिए आपको इसे "#" के साथ उपसर्ग करना होगा
  2. जब आप एक स्ट्रिंग की आवश्यकता होती है, तो आप संख्या को पास करने का प्रयास कर रहे हैं। (# 5 पास करना) इसे ठीक कर देगा क्योंकि यह 5 को पहले "5" में बदल देगा।

0

मुझे jQuery के बारे में ज्यादा जानकारी नहीं है, लेकिन यह कोशिश करें:

row_id = "#5";
row = $("body").find(row_id);

संपादित करें: निश्चित रूप से, यदि चर एक संख्या है, तो आपको "#"सामने जोड़ना होगा:

row_id = 5
row = $("body").find("#"+row_id);
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.