JQuery কোনও উপাদান খুঁজে পায় নি তা নির্ধারণ করা হচ্ছে


126

আমি jQuery এর নির্বাচক বিশেষত আইডি নির্বাচনকারী ব্যবহার করছি:

$("#elementId")...

আমি কীভাবে নির্ধারণ করব যে jQuery এর উপাদান খুঁজে পেয়েছে কিনা? এমনকি যদি নির্দিষ্ট আইডির সাথে উপাদানটি উপস্থিত না থাকে তবে পরবর্তী বিবৃতিটি আমাকে দিন:[object Object]

alert($("#idThatDoesnotexist"));

উত্তর:


187

$('#idThatDoesnotexist').lengthআপনি যা খুঁজছেন (যদি এটি কিছুই না পেয়ে থাকে তবে এটি হবে === 0)) সুতরাং আপনার শর্তসাপেক্ষ বিবৃতিটি সম্ভবত:

যদি ($ ('# আইডি')। দৈর্ঘ্য) {/ * কোড পাওয়া যায় * /} অন্য {/ * কোড না পাওয়া গেলে * /}

আপনি সেই সতর্কতা থেকে ফিরে আসা কোনও জিনিস পেয়ে যাচ্ছেন কারণ আপনি যখন ব্যবহার করেন তখন jQuery (প্রায়) সর্বদা "jQuery অবজেক্ট" দেয়, যা jQuery এর উপাদানগুলির জন্য একটি মোড়ক যা মেথিনে শৃঙ্খলার অনুমতি দেয়।


3
আপনার শূন্যের দরকার নেই, $ ('# আইডি') দৈর্ঘ্য যথেষ্ট (শূন্য == জাভাস্ক্রিপ্টে মিথ্যা)
ডেভিড হেলসিং

13
সত্য যে আপনি না @David দরকার এটা অগত্যা এটি প্রথম নজরে অপ্রয়োজনীয়, আইএমও এটা আরো স্পষ্ট করে তোলে না।
আবির

1
@ আবীর: এটি কেবল পরিষ্কার করে তোলে যতক্ষণ না আপনি সিনট্যাক্স ব্যতীত ব্যবহার না করে, স্পষ্টতই না বরং সত্যতার জন্য পরীক্ষা করে == 0দেখেন I
স্কট

@ স্কট স্টাফফোর্ড, আরও ছাড়পত্রের জন্য, আপনি এটি ব্যবহার করতে পারেন if (!!$('#id').length), এটি একটি বুলিয়ান নিক্ষেপ করে।
ড্যানিয়েল ভ্রুট 21

6
জাভাস্ক্রিপ্টের সংক্ষিপ্তসারগুলির সাথে অপরিচিত কেউ কোডটি পড়লে কয়েক অক্ষর সংরক্ষণের সুবিধাগুলি সম্ভাব্য বিভ্রান্তি অফ করে কিনা তাও আপনার বিবেচনা করা উচিত। যতক্ষণ না রক্ষণাবেক্ষণের বিষয়টি আমার মতে উদ্বিগ্ন তবে সেরা অনুশীলন নয়।
ম্যাট Carr

26

Futuraprime ঠিক আছে তবে আপনি নিম্নলিখিতটি দ্বারা আপনার বাক্য গঠনটি সংক্ষিপ্ত করতে পারেন:

if ($("#id").length) {
   //at least one element was found
} else {
   //no elements found
}

11
!$.isEmptyObject($.find('#id'))

উপাদানটি উপস্থিত থাকলে এবং সত্য না থাকলে এটি সত্য হবে This


7
$('#my_selector').length > 0 
$('#my_selector').get(0) !== undefined
$('#my_selector')[0] !== undefined

এটি বেসিক, এখন আপনি যা চান তা করুন।

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