নীচের মত আমি কি এইচটিএমএল ট্যাগে একটি কাস্টম বৈশিষ্ট্য যুক্ত করতে পারি?
<tag myAttri="myVal" />
নীচের মত আমি কি এইচটিএমএল ট্যাগে একটি কাস্টম বৈশিষ্ট্য যুক্ত করতে পারি?
<tag myAttri="myVal" />
উত্তর:
আপনি এটির অনুমতি দেওয়ার জন্য আপনার! ডক্টইপিই ঘোষণা (অর্থাত্ ডিটিডি) সংশোধন করতে পারেন, যাতে [এক্সএমএল] নথিটি এখনও বৈধ থাকবে:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
[
<!ATTLIST tag myAttri CDATA #IMPLIED>
]>
#IMPLIED
এর অর্থ এটি একটি alচ্ছিক বৈশিষ্ট্য, বা আপনি ব্যবহার করতে পারেন #REQUIRED
ইত্যাদি
আরও তথ্য ডিটিডি - বৈশিষ্ট্যগুলিতে ।
<meta http-equiv="content-type" content="application/xhtml+xml" />
।
data-
।
আপনি ইচ্ছামত আপনার উপাদানগুলিতে কাস্টম বৈশিষ্ট্য যুক্ত করতে পারেন। তবে এটি আপনার দস্তাবেজটিকে অবৈধ করে তুলবে।
এইচটিএমএল 5 এ আপনার পূর্বনির্ধারিত কাস্টম ডেটা অ্যাট্রিবিউটগুলিdata-
ব্যবহার করার সুযোগ থাকবে ।
|
href
যে একটি CSS এ অনুমোদিত নয় , তবে এটি Google ফন্টের জন্য প্রয়োজনীয়
না, এটি বৈধতা ভঙ্গ করবে।
এইচটিএমএল 5 এ আপনি কাস্টম বৈশিষ্ট্যগুলি যুক্ত করতে পারবেন / করতে পারবেন। এটার মতো কিছু:
<tag data-myAttri="myVal" />
JQuery data()
ফাংশন আপনাকে ডিওএম উপাদানগুলির সাথে স্বেচ্ছাসেবী ডেটা সংযুক্ত করতে দেয়। এখানে একটি উদাহরণ ।
এইচটিএমএল 5 এ: হ্যাঁ: ডেটা-অ্যাট্রিবিউট ব্যবহার করুন ।
<ul>
<li data-animal-type="bird">Owl</li>
<li data-animal-type="fish">Salmon</li>
<li data-animal-type="spider">Tarantula</li>
</ul>
হ্যাঁ, আপনি, আপনি এটি প্রশ্ন নিজেই করেছিল পারেন: <html myAttri="myVal"/>
।
var demo = document.getElementById("demo")
console.log(demo.dataset.myvar)
// or
alert(demo.dataset.myvar)
//this will show in console the value of myvar
<div id="demo" data-myvar="foo">anything</div>
হ্যাঁ, আপনি এটা করতে পারেন!
পরবর্তী HTML
ট্যাগ থাকা:
<tag key="value"/>
আমরা এর সাথে তাদের বৈশিষ্ট্যগুলি অ্যাক্সেস করতে পারি JavaScript
:
element.getAttribute('key'); // Getter
element.setAttribute('key', 'value'); // Setter
Element.setAttribute()
HTML
যদি অস্তিত্ব না থাকে তবে ট্যাগটিতে বৈশিষ্ট্যটি রাখুন । সুতরাং, আপনি HTML
যদি কোডটি সেট করতে যাচ্ছেন তবে আপনাকে কোডে এটি ঘোষণা করার দরকার নেইJavaScript
।
key
: বৈশিষ্ট্যটির জন্য আপনি যে কোনও নাম চান, এটি ইতিমধ্যে বর্তমান ট্যাগের জন্য ব্যবহৃত হয় না।
value
: এটি সর্বদা আপনার প্রয়োজন অনুযায়ী স্ট্রিং থাকে।
এখানে উদাহরণ:
document.getElementsByTagName("html").foo="bar"
বডি ট্যাগ উপাদানটিতে কাস্টম বৈশিষ্ট্যগুলি কীভাবে সেট করবেন তা এখানে অন্য উদাহরণ:
document.getElementsByTagName('body')[0].dataset.attr1 = "foo";
document.getElementsByTagName('body')[0].dataset.attr2 = "bar";
তারপরে গুণাবলীটি পড়ুন:
attr1 = document.getElementsByTagName('body')[0].dataset.attr1
attr2 = document.getElementsByTagName('body')[0].dataset.attr2
আপনি ডিভটুলগুলিতে কনসোলে উপরের কোডটি পরীক্ষা করতে পারেন , যেমন
যে কোনও ডেটা ব্যবহার করুন, আমি সেগুলি প্রচুর ব্যবহার করি
<aside data-area="asidetop" data-type="responsive" class="top">
data-*
জাভাস্ক্রিপ্ট থেকে মান পাবেন ?
আরেকটি পদ্ধতির, যা পরিষ্কার এবং ডকুমেন্টটি বৈধ রাখবে, তা হ'ল আপনি যে তথ্যটি অন্য ট্যাগের মধ্যে চান আইডি আইডিটি সংযুক্ত করা, তারপরে আপনি যখন চান তখন যা চান তা নিতে বিভক্ত ব্যবহার করুন।
<html>
<script>
function demonstrate(){
var x = document.getElementById("example data").querySelectorAll("input");
console.log(x);
for(i=0;i<x.length;i++){
var line_to_illustrate = x[i].id + ":" + document.getElementById ( x[i].id ).value;
//concatenated values
console.log("this is all together: " + line_to_illustrate);
//split values
var split_line_to_illustrate = line_to_illustrate.split(":");
for(j=0;j<split_line_to_illustrate.length;j++){
console.log("item " + j+ " is: " + split_line_to_illustrate[j]);
}
}
}
</script>
<body>
<div id="example data">
<!-- consider the id values representing a 'from-to' relationship -->
<input id="1:2" type="number" name="quantity" min="0" max="9" value="2">
<input id="1:4" type="number" name="quantity" min="0" max="9" value="1">
<input id="3:6" type="number" name="quantity" min="0" max="9" value="5">
</div>
<input type="button" name="" id="?" value="show me" onclick="demonstrate()"/>
</body>
</html>
আপনি যোগ করতে পারেন, তবে তার পরে আপনাকে জাভাস্ক্রিপ্ট কোডের একটি লাইনও লিখতে হবে,
document.createElement('tag');
সবকিছু জায়গায় পড়ে আছে তা নিশ্চিত করতে। মানে ইন্টারনেট এক্সপ্লোরার :)
<tag ...>
অর্থ স্পষ্টতই কোনও HTML ট্যাগ রয়েছে।
আমরা হব! আপনি প্রকৃতপক্ষে যা চান তাতে ডেটা অ্যাট্রিবিউটগুলি ছদ্মবেশ ধারণ করে আপনি আসলে কাস্টম এইচটিএমএল বৈশিষ্ট্যগুলির একটি গুচ্ছ তৈরি করতে পারেন।
যেমন।
[attribute='value']{
color:red;
}
<span attribute="value" >hello world</span>
এটি স্পষ্টতই কাজ করে তবে এটি আপনার নথিকে অকার্যকর করে দেবে, কাস্টম বৈশিষ্ট্য বা এমনকী উপাদানগুলি রাখার জন্য আপনার জন্য জেএসক্রিপ্ট ব্যবহার করার দরকার নেই যতক্ষণ না আপনার নিজের নতুন সূত্রযুক্ত (কাস্টম) বৈশিষ্ট্যগুলি ঠিক একইভাবে আচরণ করতে হবে আপনি নিজের আচরণ হিসাবে "ডেটা" বৈশিষ্ট্য
"অবৈধ" মনে রাখার অর্থ কিছু নয়। দস্তাবেজটি সর্বদা সূক্ষ্ম লোড হবে। এবং কিছু ব্রাউজারগুলি কেবলমাত্র ডক্টইপিইয়ের উপস্থিতি দ্বারা আপনার দস্তাবেজটিকে বৈধতা দেয় ....., আপনি আসলে আমার অর্থ কী তা জানেন।
আপনি কোনও গুণের পরিবর্তে জাভাস্ক্রিপ্ট থেকে যে মানটি চান তা উত্তোলনের জন্য আপনি এর মতো কিছু করতে পারেন:
<a href='#' class='click'>
<span style='display:none;'>value for JavaScript</span>some text
</a>
<input type="hidden" value="...">
। যাইহোক, আপনি কোনও গোপন ক্ষেত্রের মধ্যে রেখে দিতে পারেন এমন ডেটার বিপরীতে আপনি বিভিন্ন বৈশিষ্ট্যে যে ডেটা রেখেছেন তার মধ্যে পার্থক্য বিবেচনা করুন। কোনও টুকরো মেটাডাটা বজায় রাখার স্বার্থে একটি <span>
(সমস্ত কিছু) লুকিয়ে <a>
রাখা ভাল পদক্ষেপ নয়। এটি আপনার সাইটের কাছে অদ্ভুত এবং জেএসের উপর খুব বেশি নির্ভরশীল (কৃপিত অবক্ষয়, লোক)।