এইচটিএমএল উপাদানটি আবিষ্কার করুন যা আইডি দিয়ে শুরু হয়


89

আমার প্রশ্নটি হ'ল:

আমার একাধিক পৃষ্ঠায় এইচটিএমএল কোড রয়েছে, সেগুলির প্রত্যেকটিতে আমি কিছু ডেটা প্রদর্শনের জন্য একটি জেকিগ্রিড (জ্যাকোয়ারি গ্রিড) ব্যবহার করেছি। আমি জানতাম যে সেই প্রতিটি পৃষ্ঠায়, জেকিউগ্রিডকে ধারণ করে এমন উপাদানটির নাম দেওয়া হয়েছে "এলআইএসT_xxx"। এখন আমার একটি জাভাস্ক্রিপ্ট তৈরি করা দরকার যা প্রতিটি পৃষ্ঠায় সেই উপাদানটি "LIST_XXXX" নেয় এবং কিছু স্টাফ করে। আমি কীভাবে আইডি দ্বারা কোনও উপাদান অনুসন্ধান করতে পারি তবে কেবলমাত্র তার প্রাথমিক অংশটি জানতে (আইডির যেমন আমি আগে উল্লেখ করেছি):

$('#list_[XXXX]')... --> The part surrounded by [] is variable on each page, i want to discriminate that.

আমি আশা করি আমি নিজেকে পরিষ্কার করে দিয়েছি ধন্যবাদ

উত্তর:


173

চেষ্টা করুন

$('div[id^="list_"]')

এটার কাজ করা উচিত


Jquery ডকুমেন্টেশনের চেয়ে সেই রেফারেন্সে আরও অনেক ভাল লেআউট।
ইউরি ফক্টোরিভিচ

এটি চমৎকার কাজ করে ধন্যবাদ ... আমি একটি আইডি সন্ধান করতে এটি ব্যবহার করেছি যা নির্দিষ্ট মান সহ শেষ হয় (যদি (div ('ডিভ [আইডি $ = "' + ভাল + '"]')। দৈর্ঘ্য> 0) কিছু কার্যকর করে;
রাফি

ভাল, এটি নিয়ন্ত্রণের সাধারণ আইডির উপরে কাজ করে। এটি কীভাবে দৃশ্যধারণের জন্য কাজ করতে হয় যেমন আইডি "txt_0_city", "txt_1_city", "txt_2_city", "txt_3_city" এবং এর মতোই আমার নিয়ন্ত্রণ রয়েছে এবং আমি "txt _ * _ সিটির মতো আইডি থাকা সমস্ত উপাদানগুলির গণনা চাই want "
রাজীব ভরদ্বাজ

@ রাজীব যদি আপনার এইচটিএমএল নিয়ন্ত্রণ করে তবে সেই শহরগুলির প্রতিটিটির সাথে "শহর" এর মতো একটি শ্রেণি যুক্ত করা ভাল। তারপরে আপনি এগুলি সহজেই গণনা করতে পারেন।
গ্লেন লিটল

@ রাজিভ যদি আপনি এইচটিএমএল উন্নত করতে না পারেন, তবে api.jquery.com/m মাল্টিপল - ক্যাট্রিবিউট- সিলেক্টর পরীক্ষা করে দেখুন - আপনি নির্বাচকদের একত্রিত করতে পারেন। উদাহরণস্বরূপ, $ ("স্প্যান [id ^ = 'txt _'] [আইডি $ = '_ শহর']")
গ্লেন লিটল

22

আপনাকে নির্বাচক দিয়ে শুরু করে বিশিষ্টতাটি ব্যবহার করতে হবে, এটির মতো:

$('[id^=list_]').whatever()

ভাল, এটি নিয়ন্ত্রণের সাধারণ আইডির উপরে কাজ করে। এটি কীভাবে দৃশ্যধারণের জন্য কাজ করতে হয় যেমন আইডি "txt_0_city", "txt_1_city", "txt_2_city", "txt_3_city" ইত্যাদি নিয়ে আমার নিয়ন্ত্রণ রয়েছে এবং আমি "txt _ * _ সিটির মতো আইডি থাকা সমস্ত উপাদানগুলির গণনা চাই want "
রাজীব ভরদ্বাজ

হাই @ রাজীব, স্ট্যাকওভারফ্লোতে আপনাকে স্বাগতম। আমি আপনার মন্তব্যের অন্যান্য অনুলিপিতে জবাব দিয়েছি।
গ্লেন লিটল

8

সেই উপাদানটিকে একটি সাধারণ শ্রেণীর নাম বা অন্য কোনও বৈশিষ্ট্য দিন যা আপনি জিজ্ঞাসা করতে পারেন Give


হাই, আপনার উত্তরের জন্য ধন্যবাদ, আপনার পরামর্শের সাথে সমস্যাটি হ'ল জেকিগ্রিড ধারণ করে একাধিক টেবিল থাকতে পারে, সুতরাং সেখানে থাকতে পারে: "LIST_customer", "LIST_carrier" ... ইত্যাদি। এবং আমি তাদের উভয়ই কেবলমাত্র প্রাথমিক আইডি অংশে "বেসিস" ভিত্তি করে বেছে নেওয়া দরকার।
lidermin

4
আমি বুঝতে পারি, তবে তাদের সমস্ত তালিকা বর্গ তৈরি করা আমার কাছে আরও পঠনযোগ্য এবং বর্ণনামূলক পদ্ধতির মতো বলে মনে হচ্ছে। প্রতিটি তার নিজের জন্য, আপনি সবসময় jquery মধ্যে নির্বাচক সাথে শুরুতে অন্যান্য উত্তর দ্বারা প্রদর্শিত হিসাবে ব্যবহার করতে পারেন।
ইউরি ফক্টোরিভিচ

@ লিডারমিন ইউরি যা বলেন তা কার্যকর করা উচিত। আপনি আপনার নিয়ন্ত্রণে কোনও শ্রেণি যুক্ত করবেন না কেন যেমন "তালিকা" হিসাবে আপনার উপসর্গ হিসাবে তালিকা_ রয়েছে। সুতরাং আপনি যখন এই শ্রেণিটি নির্বাচন করবেন এটি সেই সমস্ত নিয়ন্ত্রণ পেতে পারে। এটি করার সবচেয়ে কার্যকরী উপায় এটি।
জোশ মেইন

ইউরির উত্তর কার্যকর হবে। আপনি আপনার সমস্ত "LIST_XXXX" উপাদানগুলিতে একই শ্রেণিটি (উদাহরণস্বরূপ "ListsINeedToFind") যুক্ত করতে পারেন এবং তারপরে তাদের ব্যবহার করে সন্ধান করতে পারেন $('.ListsINeedToFind')
আনানাবেল

কখনও কখনও একই শ্রেণি সহ বিভিন্ন আইডি সহ একাধিক উপাদান থাকা প্রয়োজন।
ভিনসেন্ট

5

নির্বাচক http://api.jquery.com/attribute-starts-with-selector/ দিয়ে "গুণ শুরু হয়" ব্যবহার করুন

$("[id^=list_]")

সচেতন হন যে এটি অদক্ষ। ট্যাগ নামের সাথে উপসর্গ এবং সম্ভব হলে নিকটতম পিতামাতার কাছ থেকে নেমে আসুন।


1

নির্দিষ্ট আইডি / অক্ষর দিয়ে শেষ হওয়া কোনও উপাদান পেতে

find('[id$=someid]')

একটি নির্দিষ্ট আইডি / অক্ষর দিয়ে শুরু করে একটি উপাদান পেতে

find('[id*=anotherid]')

একটি নির্দিষ্ট আইডি / চরিত্রের সাথে একটি উপাদান মিলে যায়

find('[id^=id]')
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.