আইডির জন্য একটি ভেরিয়েবল ব্যবহার করে কীভাবে আমি jQuery এ কোনও উপাদান নির্বাচন করব?


100

উদাহরণস্বরূপ, নিম্নলিখিত আইডি = "2" সহ একটি বিভাগ নির্বাচন করেছেন:

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

আমি এরকম কিছু করব কীভাবে:

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

উপরের সিনট্যাক্স একটি ত্রুটি তৈরি করে। আমি এখানে jQuery ডকুমেন্টেশন এবং উত্তরগুলি সাফল্য ছাড়াই পরীক্ষা করেছি।


6
বাহ, পাঁচটি উত্তর যা ঠিক একই ...
জিফ্রে

উত্তর:


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

আরও গুরুত্বপূর্ণ বিষয় হল অতিরিক্ত বডি.ফাইন্ড করা কর্মক্ষমতাতে কোনও প্রভাব ফেলেনি। এটি করার সঠিক উপায়টি সহজভাবে:

row = $('#' + row_id);

46

সবচেয়ে সংক্ষিপ্ততম উপায়টি হ'ল:

$("#" + row_id)

দেহে অনুসন্ধান সীমাবদ্ধ করে কোনও লাভ নেই।

এছাড়াও, আপনার নিজের নাম পরিবর্তন করে idআরও কিছু অর্থপূর্ণ (এবং এইচটিএমএল পাওলো এর উত্তর অনুসারে) এর নামকরণ করা বিবেচনা করা উচিত , বিশেষত যদি আপনার আরও একটি ডেটা সেট করে থাকে যার নামও রাখা দরকার।


আমি সংক্ষিপ্ত পছন্দ। আমি এই মাত্র qTip2 টুলটিপস ব্যবহার করেছি, দুর্দান্ত কাজ করে। আমি "কাস্টম ইন" যেমন প্রচুর ব্যবহারকারীর ইনপুটটির প্রতিক্রিয়া হিসাবে প্রচুর উত্পাদন করার জন্য পারফরম্যান্স পেনাল্টি কী তা আমি কিছুটা কৌতূহলী।
পিজে ব্রুনেট

26

$('body').find();আইডি দ্বারা সন্ধানের সময় করণীয় প্রয়োজন হয় না; কোন কার্যকারিতা লাভ নেই।

দয়া করে নোট করুন যে একটি আইডি থাকা একটি নম্বর দিয়ে শুরু হয় তা বৈধ এইচটিএমএল নয় :

আইডি এবং NAME টোকেনগুলি অবশ্যই একটি অক্ষর ([এ-জা-জেড]) দিয়ে শুরু হওয়া উচিত এবং এর পরে সংখ্যক বর্ণ, অঙ্ক ([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);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.