আমার মনে হয় টিম এটি বেশ ভাল বলেছিল , তবে আসুন পিছিয়ে যাই:
একটি ডোম উপাদান হ'ল একটি বস্তু, স্মৃতিতে একটি জিনিস। ওওপির বেশিরভাগ অবজেক্টের মতো এরও বৈশিষ্ট্য রয়েছে । এটিতেও পৃথকভাবে উপাদানটিতে সংজ্ঞায়িত বৈশিষ্ট্যের মানচিত্র রয়েছে (সাধারণত চিহ্নিতকরণ থেকে আসে যা ব্রাউজার উপাদানটি তৈরি করতে পড়ে)। উপাদান এর কিছু বৈশিষ্ট্য তাদের পেতে প্রাথমিক থেকে মানগুলি বৈশিষ্ট্যাবলী একই বা অনুরূপ নাম (সঙ্গে value
"মান" অ্যাট্রিবিউট থেকে তার প্রাথমিক মান পায়; href
"সূরা" অ্যাট্রিবিউট থেকে তার প্রাথমিক মান পায়, তবে এতে ঠিক একই মান না; className
থেকে "শ্রেণি" বৈশিষ্ট্য)। অন্যান্য বৈশিষ্ট্যগুলি অন্যান্য উপায়ে তাদের প্রাথমিক মানগুলি parentNode
পায় : উদাহরণস্বরূপ, সম্পত্তিটি তার পিতামাতার উপাদানটির ভিত্তিতে তার মান পায়;style
বৈশিষ্ট্য, এটিতে "শৈলী" বৈশিষ্ট্য আছে কি না।
আসুন এখানে একটি পৃষ্ঠায় এই অ্যাঙ্করটি বিবেচনা করুন http://example.com/testing.html
:
<a href='foo.html' class='test one' name='fooAnchor' id='fooAnchor'>Hi</a>
কিছু কৃত্রিম ASCII শিল্প (এবং প্রচুর পরিমাণে জিনিসপত্র রেখে):
+ + ------------------------------------------- + +
| HTMLAunchorElement |
+ + ------------------------------------------- + +
| href: "http://example.com/foo.html" |
| নাম: "fooAunchor" |
| আইডি: "fooAunchor" |
| শ্রেণীর নাম: "একটি পরীক্ষা" |
| বৈশিষ্ট্য: |
| href: "foo.html" |
| নাম: "fooAunchor" |
| আইডি: "fooAunchor" |
| ক্লাস: "একটি পরীক্ষা" |
+ + ------------------------------------------- + +
লক্ষ করুন যে বৈশিষ্ট্য এবং বৈশিষ্ট্য পৃথক are
এখন যদিও এগুলি স্বতন্ত্র, কারণ এগুলি সমস্তই গ্রাউন্ড আপ থেকে ডিজাইনের পরিবর্তে বিবর্তিত হয়েছে, আপনি যদি সেট করে থাকেন তবে বৈশিষ্ট্যগুলির একটি সংখ্যা তারা উত্পন্ন বৈশিষ্ট্যটিতে ফিরে আসে। তবে সবাই তা করেন না এবং href
উপরে থেকে আপনি দেখতে পাচ্ছেন , ম্যাপিংটি সর্বদা একটি সরল "মানটি পাস" হয় না, কখনও কখনও ব্যাখ্যাটির সাথে জড়িত থাকে।
আমি যখন কোনও বস্তুর বৈশিষ্ট্য হিসাবে সম্পত্তি নিয়ে কথা বলি তখন আমি বিমূর্তে কথা বলি না। এখানে কিছু নন-জিক্যুরি কোড রয়েছে:
var link = document.getElementById('fooAnchor');
alert(link.href); // alerts "http://example.com/foo.html"
alert(link.getAttribute("href")); // alerts "foo.html"
(এই মানগুলি বেশিরভাগ ব্রাউজার অনুসারে হয়; কিছু ভিন্নতা রয়েছে))
link
বস্তুর একটি বাস্তব জিনিস, এবং আপনি সেখানে একটি অ্যাক্সেস মধ্যে একটি বাস্তব পার্থক্য দেখতে পারেন সম্পত্তি এটিতে, এবং একটি অ্যাক্সেস বৈশিষ্ট্য ।
টিম যেমন বলেছিল, সময়ের সিংহভাগ , আমরা সম্পত্তি নিয়ে কাজ করতে চাই। আংশিকভাবে এটি কারণ যে তাদের মানগুলি (এমনকি তাদের নামগুলি) ব্রাউজারগুলিতে আরও সুসংগত থাকে। আমরা কেবলমাত্র তার সাথে সম্পর্কিত কোনও সম্পত্তি (কাস্টম অ্যাট্রিবিউটস) না থাকলে বা বিশেষত বৈশিষ্ট্যটির জন্য বৈশিষ্ট্য এবং বৈশিষ্ট্য 1: 1 নয় ( href
উপরে এবং "href" হিসাবে না থাকি) যখন বৈশিষ্ট্যগুলি নিয়ে কাজ করতে চাই above ।
স্ট্যান্ডার্ড বৈশিষ্ট্যগুলি বিভিন্ন ডিওএম স্প্যাসে বিভক্ত:
এই চশমাগুলির দুর্দান্ত সূচক রয়েছে এবং আমি তাদের সাথে লিঙ্কগুলি সহজে রাখার পরামর্শ দিই; আমি সব সময় তাদের ব্যবহার।
কাস্টম বৈশিষ্ট্যগুলির মধ্যে অন্তর্ভুক্ত থাকবে, উদাহরণস্বরূপ, data-xyz
আপনার কোডে মেটা-ডেটা সরবরাহ করতে আপনি উপাদানগুলিতে কোনও বৈশিষ্ট্য রাখতে পারেন (এটি এখন HTML5 হিসাবে কার্যকর, যতক্ষণ আপনি data-
উপসর্গের সাথে লেগে থাকেন) to (JQuery এর সাম্প্রতিক সংস্করণগুলি আপনাকে ফাংশনটির data-xyz
মাধ্যমে উপাদানগুলিতে অ্যাক্সেস data
দেয়, তবে সেই ফাংশনটি কেবল গুনের জন্য একটি অ্যাক্সেসর নয়data-xyz
[এটি এর চেয়ে আরও কম এবং কম উভয়ই করে; যদি আপনার প্রকৃত বৈশিষ্ট্যগুলির প্রয়োজন না হয় তবে আমি attr
ফাংশনটি ইন্টারেক্ট করার জন্য ব্যবহার করব সঙ্গে data-xyz
অ্যাট্রিবিউট।)
attr
ফাংশন পেয়ে তারা যা ভেবেছিলাম তুমি চেয়েছিলেন, বদলে আক্ষরিক অ্যাট্রিবিউট পেয়ে কাছাকাছি কিছু সংবর্ত যুক্তিবিজ্ঞান আছে ব্যবহৃত। এটি ধারণাগুলি গুলিয়ে ফেলেছে। সরানো prop
এবং attr
এগুলি ডি-কনফ্লেট করা বোঝানো হয়েছিল। সংক্ষেপে v1.6.0 এ jQuery সে ক্ষেত্রে অনেক বেশি এগিয়ে গেছে তবে প্রযুক্তিগতভাবে যখন তাদের ব্যবহার করা উচিত তখন লোকেদের ব্যবহার করা সাধারণ পরিস্থিতিগুলি পরিচালনা করতে কার্যকারিতা দ্রুত যুক্ত করা হয়েছিল ।attr
attr
prop