JQuery নির্বাচকগুলিতে ওয়াইল্ডকার্ড


668

যাদের আইডি "জান্ডার" দিয়ে শুরু হয় সেই সমস্ত উপাদানগুলির আইডি পেতে আমি একটি ওয়াইল্ডকার্ড ব্যবহার করার চেষ্টা করছি। আমি চেষ্টা করেছি $('#jander*'), $('#jander%')কিন্তু কাজ করে না ..

আমি জানি যে এটির সমাধানের জন্য আমি উপাদানগুলির ক্লাস ব্যবহার করতে পারি, তবে এটি ওয়াইল্ডকার্ড ব্যবহার করেও সম্ভব? ??

<script type="text/javascript">

  var prueba = [];

  $('#jander').each(function () {
    prueba.push($(this).attr('id'));
  });

  alert(prueba);


});

</script>

<div id="jander1"></div>
<div id="jander2"></div>

2
এটি jQuery (বা আরও ঠিক সিজল ইঞ্জিন) সম্পর্কে একটি প্রশ্ন।
পিটার আর্নহোম

1
কেবল একটি নোট: jQuery বা সিজল ব্রাউজার ফাংশনগুলি (যদিও আধুনিক ব্রাউজারগুলির ক্ষেত্রে খুব একটা আলাদা করা উচিত নয়) ক্লাসগুলির সাথে এটি করা আরও দ্রুত হবে faster
ফেলিক্স ক্লিং


7
এছাড়াও, লক্ষণীয় একটি গুরুত্বপূর্ণ বিষয় $("[id*=jander]")হ'ল স্ট্রিং জ্যান্ডার সহ একটি আইডি সহ সমস্ত উপাদান নির্বাচন করবে।
গ্যাব্রিয়েল রায়ান নাহমিয়াস

উত্তর:


1279

"জান্ডার" দিয়ে শুরু করা সমস্ত উপাদানগুলি পেতে আপনার ব্যবহার করা উচিত:

$("[id^=jander]")

"জ্যান্ডার" দিয়ে শেষ হওয়াগুলি পেতে

$("[id$=jander]")

আরও দেখুন JQuery ডকুমেন্টেশন


22
ডক্স এই উদাহরণ দিতে:$('input[name^="news"]').val('news here!')
Brenden

5
কোড হিসাবে কাজ করে। দ্বিগুণ উদ্ধৃতি দেওয়ার দরকার নেই, এটি কেবল একটি সমাপ্ত উদ্ধৃতি অনুপস্থিত হওয়ার সম্ভাবনা বাড়িয়ে তোলে এবং এটিকে কম পাঠযোগ্য করে তোলে।
নিকো

4
@নিকো আকর্ষণীয়ভাবে যথেষ্ট, ডক্স বলছে এটি বৈশিষ্ট্যগুলির সাথে কাজ করে এবং idপ্রযুক্তিগতভাবে একটি সম্পত্তি , তবে আমি জ্যাকুরির সাম্প্রতিক প্রকাশের সাথে অনুমান করি (অর্থাত্ 1.9) এবং কীভাবে বৈশিষ্ট্য এবং বৈশিষ্ট্যগুলির সর্বশেষ পরিবর্তনগুলি হ্যানल्ड করা হয়, লাইনটি কিছুটা ঝাপসা হয়ে গেছে দু'জনকে সম্মান জানাতে এবং তাই আপনার (অন্তত কিছু কিছু) বৈশিষ্ট্যগুলির জন্য বিশিষ্ট নির্বাচকগুলি ব্যবহার করতে সক্ষম।
জনহিত

কি হয়, আমি নির্বাচিত যারা এমনকি নির্বাচন করতে চান। উদাহরণস্বরূপ: আমি বর্তমানে .col-lg-4:even div:nth-child(1)যদি আমি একই কাজ করতে চাইতাম তবে আমি কী লিখব? "[class^=.col-lg-]:even"? (আমি এটি কাজ করে নিচ্ছি বলে মনে হচ্ছে না)
লুইস রোবলস

কিছুটা আচরণ যা আমাকে অবাক করে দিয়েছিল ---- আমি যদি এটি "শ্রেণি $ = ..." দিয়ে ব্যবহার করি তবে এটি কোনও শ্রেণীর নাম নয়, পৃথক শ্রেণীর নাম অনুসন্ধান করে। সুতরাং এটি শুধুমাত্র হিট যদি সন্ধান করা শ্রেণিটি সেই আইটেমটির শেষ শ্রেণি। ক্রোম ব্যতীত অন্য কোন পরীক্ষা করা হয়নি। এবং ত্রুটিটি jQuery এ বা jQuery সম্পর্কে আমার প্রত্যাশায় কিনা তা নিশ্চিত নয়।
রজার ক্রুয়েজার

115

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

$(document).ready(function(){
  console.log($('[id*=ander]'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="jander1"></div>
<div id="jander2"></div>

এটি প্রদত্ত স্ট্রিংটি যে কোনও জায়গায় নির্বাচন করবে id


39

JQuery শুরু করার চেষ্টা করুন

নির্বাচক, '^ =', যেমন

[id^="jander"]

যদিও আমাকে জিজ্ঞাসা করতে হবে, আপনি ক্লাস ব্যবহার করে এটি করতে চান না কেন?


2
প্রসঙ্গটি যুক্ত করার জন্য, আমি একই সমাধানটির সন্ধান করছি কারণ আমি জ্যাঙ্গো ব্যবহার করছি, যার মডেলফর্ম ক্লাস মডেলগুলির উপর ভিত্তি করে আইডি নির্ধারণ করে, এবং এরকম গ্রুপিংয়ের অনুমতি দেয় বলে মনে হয় না; অর্থাত্ এইচটিএমএলটি আমার নিয়ন্ত্রণের বাইরে।
খ্রিস্টান মান

এটিএসপি. নেট ওয়েব ফোর্মগুলি, বিশেষত রেডিও এবং চেকবক্স তালিকাগুলির সাথে কাজ করার সময় এটি কার্যকর।
ডেভিডশেয়ার

35

ক্লাসের জন্য আপনি ব্যবহার করতে পারেন:

div[class^="jander"]

আমি এটি কাজ করতে পারি না, অবৈধ সিনট্যাক্স সম্পর্কে একটি বার্তা পাই।
স্ট্যান করুন

14

করতে আইডি পান ওয়াইল্ডকার্ড ম্যাচ থেকে:

$('[id^=pick_]').click(
  function(event) {

    // Do something with the id # here: 
    alert('Picked: '+ event.target.id.slice(5));

  }
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="pick_1">moo1</div>
<div id="pick_2">moo2</div>
<div id="pick_3">moo3</div>


2
"ইভেন্ট.এরগেট.আইডি" এর পরিবর্তে এটি খুব কার্যকর হতে পারে: $ (এটি) .attr ("আইডি")
পিজে ব্রুনেট

10

আপনার যখন আরও জটিল আইডি স্ট্রিং থাকে তখন ডাবল উদ্ধৃতিগুলি বাধ্যতামূলক।

উদাহরণস্বরূপ আপনার যদি কোনও আইডি id="2.2"থাকে: এটির অ্যাক্সেস করার সঠিক উপায় হ'ল:$('input[id="2.2"]')

সুরক্ষার কারণে যতটা সম্ভব ডাবল কোট ব্যবহার করুন।

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