জাভাস্ক্রিপ্টে উপাদান পাওয়ার ত্রুটি
কখনও কখনও novice programmers একটি ভুল করে,
একটি একক DOM উপাদান পাওয়ার জন্য
querySelector পদ্ধতির পরিবর্তে
querySelectorAll পদ্ধতি ব্যবহার করে।
এই ত্রুটির বৈশিষ্ট্যগত দিকগুলি দেখা যাক। ধরুন একটি অনুচ্ছেদ দেওয়া আছে:
<p>text</p>
একজন programmer সেই অনুচ্ছেদের পাঠ্য পেতে এবং পরিবর্তন করতে চেয়েছিলেন। এর জন্য তিনি ভুল পদ্ধতি ব্যবহার করে একটি ভেরিয়েবলে এই উপাদানটির একটি রেফারেন্স পেয়েছেন:
let elem = document.querySelectorAll('p');
তারপর programmer অনুচ্ছেদের পাঠ্য পরিবর্তন করার চেষ্টা করেছিলেন। যাইহোক, অনুচ্ছেদের পাঠ্য পরিবর্তন হয়নি:
elem.textContent = '!!!'; // কাজ করেনি
এক্ষেত্রে, console এ কোনও ত্রুটি দেখা যায়নি। কারণটি হল একটি বৈধ অপারেশন performed হয়েছিল, কিন্তু একটি একক উপাদানের উপর নয়, একটি গ্রুপের উপর। এবং একটি গ্রুপের পাঠ্য সরাসরি পড়া বা পরিবর্তন করা যায় না - শুধুমাত্র তাদেরকে loop through করে এবং প্রতিটি উপাদানকে আলাদাভাবে access করে।
ত্রুটি কীভাবে সনাক্ত করবেন
দেখা যাক, programmer কে কীভাবে কাজ করা উচিত যাতে এই ত্রুটিটি সনাক্ত করা যায়। আসলে, কিছু অভিজ্ঞতা থাকলে, এর বৈশিষ্ট্যগত লক্ষণ দ্বারা এটি সহজেই সনাক্ত করা যায়।
ধরুন, তা হয়নি। তাহলে errors খোঁজার সময়
programmer এর প্রথম কাজ হওয়া উচিত
ভেরিয়েবলের মান console এ output করা।
তার ক্ষেত্রে শুধুমাত্র একটি ভেরিয়েবল আছে -
elem। এই ভেরিয়েবলের মান output করে
দেখতে হবে যে এতে কী রয়েছে:
let elem = document.querySelectorAll('p');
console.log(elem); // একটি array output করবে, একটি উপাদান নয়
console এ এটি অবিলম্বে স্পষ্ট যে ভেরিয়েবলে একটি উপাদান নয়, বরং একটি array রয়েছে। এটি অবিলম্বে একটি সুস্পষ্ট ইঙ্গিত দেয় যে উপাদান পাওয়ার পদ্ধতিতে একটি ভুল করা হয়েছে।