এইচটিএমএলে আইডি বৈশিষ্ট্যের জন্য বৈধ মানগুলি কী কী?


2015

idএইচটিএমএল উপাদানগুলির জন্য অ্যাট্রিবিউট তৈরি করার সময় , মানটির জন্য কী নিয়ম রয়েছে?


96
এটি HTML5 এবং অনুমানের পূর্ববর্তী সংস্করণগুলির মধ্যে পৃথক। আমি এখানে এটি ব্যাখ্যা করেছি: mathiasbynens.be/notes/html5-id-class
ম্যাথিয়াস বাইনেস

5
আমি লক্ষ্য করেছি শিরোনাম 2010 এটির মতো একটি মূল্য নির্ধারণ করেছে - একটি ওয়েব অংশ এবং আইডি মানযুক্ত একটি পৃষ্ঠার মধ্যে গতিশীল উত্পন্ন টেবিলের জন্য CC 8C7EF38-31D8-4786-8C20-7E6D56E49AE2 {- 60 E60CE5E2-6E64-6350-A884-654B72DA5A53} এই ধরণের জনপ্রিয় ব্রাউজারগুলির কোনওটিতেই ভাঙেনি। জাভাস্ক্রিপ্টের মাধ্যমে এই জাতীয় আইডি মানগুলি নিয়ে কাজ করা যদিও মুশকিল
mvark.blogspot.in/2012/07/…

3
IDমানগুলির জন্য এইচটিএমএল 4 এবং এইচটিএমএল 5 প্রয়োজনীয়তাগুলি খুব আলাদা। এইচটিএমএল 5 IDবিধিগুলির একটি দ্রুত এবং সম্পূর্ণ রুনডাউন এখানে রয়েছে : স্ট্যাকওভারফ্লো.com
মাইকেল বেঞ্জামিন

5
অনুগ্রহ করে নোট করুন: কিছু উত্তর যেমন বলেছে তেমনটি করা এবং একটি পিরিয়ড ব্যবহার করা ( **.**)jQuery এর সাহায্যে আপনাকে বেশ কিছুটা সমস্যার মধ্যে ফেলে দেবে, উদাহরণস্বরূপ, ব্যবহার <input id="me.name" />এবং তারপরে $("#me.name").val()jQuery <me>শ্রেণীর সাথে একটি ট্যাগ সন্ধান করবে .name, যা কেউ চায় না সত্যই!
স্প্যাম

3
@ স্যামসুইফ্ট 웃 নাহ, ডকস যেমন বলছেন তেমন আপনাকে বিশেষ অক্ষর থেকে বাঁচতে হবে । এই অনলাইন ডেমো পরীক্ষা করুন ।
vlvaro González

উত্তর:


1702

জন্য এইচটিএমএল 4 , উত্তর টেকনিক্যালি হল:

আইডি এবং NAME টোকেনগুলি অবশ্যই একটি অক্ষরের ([এ-জা-জেড]) দিয়ে শুরু হওয়া উচিত এবং এর পরে সংখ্যক বর্ণ, অঙ্ক ([0-9]), হাইফেনস ("-"), আন্ডারস্কোর ("_") হতে পারে , কলোন (":"), এবং পিরিয়ড ("।")।

এইচটিএমএল 5 আরও অনুমতিপ্রাপ্ত, কেবল এই বলে যে কোনও আইডিতে অবশ্যই কমপক্ষে একটি অক্ষর থাকতে পারে এবং এতে কোনও স্থান অক্ষর নাও থাকতে পারে।

আইডি বৈশিষ্ট্যটি এক্সএইচটিএমএলে কেস সংবেদনশীল ।

খাঁটি ব্যবহারিক বিষয় হিসাবে আপনি কিছু নির্দিষ্ট অক্ষর এড়াতে চাইতে পারেন। পিরিয়ডস, কলোন এবং '#' এর সিএসএস নির্বাচকদের বিশেষ অর্থ রয়েছে, সুতরাং আপনাকে সিএসএসে ব্যাকস্ল্যাশ বা jQuery এ পাস করা একটি নির্বাচক স্ট্রিংয়ে একটি ডাবল ব্যাকস্ল্যাশ ব্যবহার করে সেই অক্ষরগুলি থেকে বাঁচতে হবে so । আইডিতে পিরিয়ড এবং কোলন নিয়ে পাগল হওয়ার আগে আপনাকে কতবার স্টাইলশিট বা কোডে কোনও চরিত্র থেকে বাঁচতে হবে তা ভেবে দেখুন।

উদাহরণস্বরূপ, এইচটিএমএল ঘোষণাটি <div id="first.name"></div>বৈধ। আপনি সেই উপাদানটি #first\.nameসিএসএসে এবং এর মতো jQuery এ নির্বাচন করতে পারেন: $('#first\\.name').তবে আপনি যদি ব্যাকস্ল্যাশটি ভুলে যান তবে $('#first.name')আপনার একটি সঠিক বৈধ নির্বাচক আইডি সহ একটি উপাদান সন্ধান করতে firstএবং ক্লাস থাকাও পাবেন name। এটি এমন একটি বাগ যা উপেক্ষা করা সহজ। পরিবর্তে আপনি আইডিটি first-name(একটি পিরিয়ডের পরিবর্তে হাইফেন) বেছে নিতে দীর্ঘমেয়াদে আরও সুখী হতে পারেন ।

নামকরণের সম্মেলনে কঠোরভাবে আঁকড়ে ধরে আপনি আপনার বিকাশের কাজগুলি সহজ করতে পারেন। উদাহরণস্বরূপ, যদি আপনি নিজেকে সম্পূর্ণ ছোট হাতের অক্ষরে সীমাবদ্ধ করেন এবং সর্বদা হাইফেন বা আন্ডারস্কোর দিয়ে শব্দ আলাদা করেন (তবে উভয়ই নয়, একটি বাছুন এবং অন্যটি কখনও ব্যবহার করবেন না), তবে আপনার মনে রাখা সহজ একটি প্যাটার্ন রয়েছে। আপনি কখনই ভাববেন না "এটা ছিল firstNameনাকি FirstName?" কারণ আপনি সর্বদা জানবেন যে আপনার টাইপ করা উচিত first_name। উটের মামলা পছন্দ? তারপরে নিজেকে সীমাবদ্ধ করুন, কোনও হাইফেন বা আন্ডারস্কোর নেই এবং সর্বদা, প্রথম অক্ষরের জন্য ধারাবাহিকভাবে উপরের-কেস বা লোয়ার-কেস ব্যবহার করুন, সেগুলি মেশান না।


এখন খুব অস্পষ্ট সমস্যা হ'ল কমপক্ষে একটি ব্রাউজার, নেটস্কেপ 6, আইডি অ্যাট্রিবিউটের মানকে কেস-সংবেদনশীল হিসাবে ভুলভাবে বিবেচনা করে । এর অর্থ হ'ল আপনি যদি id="firstName"আপনার এইচটিএমএল (লোয়ার-কেস 'এফ') এবং #FirstName { color: red }আপনার সিএসএসে (আপার-কেস 'এফ') টাইপ করে থাকেন তবে সেই বগি ব্রাউজারটি উপাদানটির রঙ লাল করতে ব্যর্থ হত। 2015 এপ্রিল, এডিট করার সময়, আমি আপনাকে নেটস্কেপ 6 সমর্থন করার জন্য বলা হবে না আশা করি। একটি historicalতিহাসিক পাদটীকা বিবেচনা করুন।


78
মনে রাখবেন শ্রেণীর এবং আইডি বৈশিষ্ট্যাবলী হয় কেস সংবেদনশীল এক্সএইচটিএমএল মধ্যে, অন্য সব বৈশিষ্ট্যাবলী নয়। এরিক মায়ার আমি অংশ নিয়েছিল এমন একটি সিএসএস ওয়ার্কশপে এটি উল্লেখ করেছিলেন।
জন টপলি

31
এছাড়াও মনে রাখবেন যে আপনি আইডি দ্বারা কোনও উপাদান এবং কোনও সংখ্যার সাথে আইডি সঞ্চার করার জন্য যদি কোনও সিএসএস বিধি লিখতে চেষ্টা করেন তবে এটি কার্যকর হবে না। অকর্মা!
জ্যাক দ্য হিউম্যান

55
জন্য '.' বা ':' jQuery ব্যবহার করে একটি আইডি, jQuery FAQ দেখুন । এটিতে একটি ছোট ফাংশন রয়েছে যা প্রয়োজনীয় পলায়ন করে।
ওল্ফ্রাম

7
idঅ্যাট্রিবিউট [হয় w3.org/TR/html4/struct/global.html#adef-id](case শুধুমাত্র HTML4 সংবেদনশীল) এবং একটি চিঠি (A থেকে Z পর্যন্ত সীমিত) দিয়ে শুরু করতে হয়েছে। এছাড়াও মনে রাখবেন যে আপনার সিএসএসটি আপনার শ্রেণীর সাথে FirstNameনয় এমন একটি উপাদানকে বোঝায় যেহেতু আপনার উদাহরণটি আপনার উপাদানটির পাঠ্যের রঙকে লাল না করা উচিত id
অগাস্টাস ক্লিং

5
অগাস্টাস যে ত্রুটিটি নির্দেশ করেছিল তা এখনও উপস্থিত রয়েছে। আপনার উদাহরণে, যদি আপনি id="firstName"পারেন এইচটিএমএল 4 বা এইচটিএমএল 5 এবং #FirstName { color: red }CSS এ, শুধুমাত্র একটি বগী ব্রাউজার হবে লাল উপাদান রঙ সেট।
স্টিফেন বোহর

221

থেকে এইচটিএমএল 4 স্পেসিফিকেশন :

আইডি এবং NAME টোকেনগুলি অবশ্যই একটি অক্ষরের ([এ-জা-জেড]) দিয়ে শুরু হওয়া উচিত এবং এর পরে সংখ্যক বর্ণ, অঙ্ক ([0-9]), হাইফেনস ("-"), আন্ডারস্কোর ("_") হতে পারে , কলোন (":"), এবং পিরিয়ড ("।")।

একটি সাধারণ ভুল হ'ল একটি আইডি ব্যবহার করা হয় যা একটি অঙ্ক দিয়ে শুরু হয়।


20
নোট HTML5 এর আরো অনেক কিছু তারপর শুধুমাত্র HTML4 দেখতে উদাহরণস্বরূপ অনুমতি দেয় 456bereastreet.com/archive/201011/... এবং w3.org/TR/html5/elements.html#the-id-attribute
জনাব হাঙ্গর

আই 6 unders আন্ডারস্কোর দিয়ে শুরু করে আইডি সমর্থন করে না, তবে এটি মারা গেছে।
doc_id

2
আইআই regarding সম্পর্কিত @ রহমানিসব্যাক, এমনটিই ভাবেন, তবে আমি এখনই একটি ব্যাংকের জন্য একটি প্রস্তাব শেষ করছি এবং তারা জোর দিয়ে বলেছেন যে কোনও বিক্রেতা কোনও অ্যাপ্লিকেশন আইই 6 তে রান করে। এটি 30,000 ব্যবহারকারীর জন্য। হেক, যদি আমরা কেবল সেগুলি সমস্ত ডেস্কটপগুলিতে তাদের ব্রাউজারগুলি আপডেট করতে পারি তবে এটি বেকারত্বের হারকে সাহায্য করতে পারে।
কার্ল

2
@ কার্ল আমি এটি শুনে দুঃখিত। আই 6 সুরক্ষা সমস্যা সম্পর্কে সতর্ক করার জন্য আপনার সমস্ত প্রচেষ্টা করুন। তবে আই 7 খুব শীঘ্রই নতুন আই 6 হবে, সুতরাং হ্যাঁ এমএস অতীতের ভুলগুলি প্রতিকার করার জন্য এই শিল্পে আমাদের ভাগ্য বলে মনে হয়।
doc_id

@ মিঃশার্ক দ্বিতীয় লিঙ্কটি নষ্ট হয়েছে; নতুন লিঙ্ক
এসডাব্লুডিভি

155

আপনি আইডি / নাম বৈশিষ্ট্যগুলিতে প্রযুক্তিগতভাবে কলন এবং পিরিয়ডগুলি ব্যবহার করতে পারেন তবে আমি উভয়কে এড়িয়ে যাওয়ার দৃ strongly় পরামর্শ দেব।

সিএসএসে (এবং jQuery এর মতো কয়েকটি জাভাস্ক্রিপ্ট লাইব্রেরি) পিরিয়ড এবং কোলন উভয়েরই বিশেষ অর্থ রয়েছে এবং আপনি যদি সতর্ক না হন তবে সমস্যাগুলির মধ্যে চলে যাবেন। পিরিয়ডগুলি ক্লাস সিলেক্টর হয় এবং কোলনগুলি সিউডো-সিলেক্টর হয় (উদা।, ": মাওস এটি শেষ হয়ে গেলে কোনও উপাদানের জন্য" হোভার)।

আপনি যদি কোনও উপাদান "my.cool:thing" আইডি দেন তবে আপনার সিএসএস নির্বাচকটি এর মতো দেখতে পাবেন:

#my.cool:thing { ... /* some rules */ ... }

যা সত্যিই বলছে, "আমার 'এর একটি আইডি সহ উপাদান,' দুর্দান্ত 'শ্রেণীর এবং সিএসএস-স্পিতে' জিনিস 'সিউডো-নির্বাচক'।

যেকোন ক্ষেত্রে, সংখ্যা, আন্ডারস্কোর এবং হাইফেনের এজেডে আঁকুন। এবং উপরে যেমন বলা হয়েছে, নিশ্চিত করুন যে আপনার আইডিগুলি অনন্য।

এটি আপনার প্রথম উদ্বেগ হওয়া উচিত।


21
আপনি কলোন এবং পিরিয়ড ব্যবহার করতে পারেন - তবে আপনাকে তাদের ডাবল ব্যাকস্ল্যাশ ব্যবহার করে পালাতে হবে, যেমন: $ ('# আমার \\। শীতল \\: জিনিস') বা ভেরিয়েবলটি থেকে বেরিয়ে আসা: $ ('#' + id.rep (/ \ ./, '\\।')। প্রতিস্থাপন (/ / \: /, '\\:')) groups.google.com/group/jquery-en/browse_thread/thread/…
জোফর্মড

2
অঙ্কগুলি কেন নয়; কেন শুধু এজেড? যতক্ষণ আপনি সংখ্যাটি দিয়ে শুরু না করেন ততক্ষণ কোনও সংখ্যা দিয়ে কীডযুক্ত ডেটার সাথে সম্পর্কিত এমন উপাদানগুলির সাথে উল্লেখ করার সময় নম্বরগুলি খুব দরকারী আইডি হয়।
করি

4
শুধুমাত্র FYI, ড্যাশ হয় টেকনিক্যালি হাইফেন। বিয়োগ চিহ্নটি ASCII অক্ষর সেটটিতে নেই। en.wikipedia.org/wiki/Plus_and_minus_signs#Character_codes
আন্তন Strogonoff

4
আইডিতে এই অক্ষরগুলি ( ., :) থাকলে এবং সেগুলি (কাশি ... শেয়ারপয়েন্ট) মুছে ফেলতে না পারলে, আপনি আইডি নির্বাচকগুলির পরিবর্তে অ্যাট্রিবিউট সিলেক্টর সহ সিএসএসে এটি পেতে পারেন, উদাহরণস্বরূপ [id='my.cool:thing'], তবে এই নির্বাচকটির তুলনায় কম স্বাতন্ত্র্য থাকবে আইডি নির্বাচক, যা অন্যান্য সমস্যার কারণ হতে পারে।
ফাউস্ট

2
পুরাতন, আমি জানি, তবে হাইফেনগুলিতে সংখ্যা এবং ব্যাকপ্যাড যুক্ত করার জন্য আপডেট করেছেন
মাইকেল থম্পসন

67

jQuery এর আছে কোন বৈধ আইডি নাম হ্যান্ডেল। আপনার কেবলমাত্র মেটাচার্যাক্টরগুলি (যেমন, বিন্দু, সেমিকোলন, বর্গাকার বন্ধনী ...) এড়াতে হবে। এটি বলার মতো যে জাভাস্ক্রিপ্টের উদ্ধৃতিগুলির সাথে একটি সমস্যা রয়েছে কারণ আপনি লিখতে পারবেন না

var name = 'O'Hara';

JQuery API- তে নির্বাচকরা (নীচের নোটটি দেখুন)


66

কঠোরভাবে এটি মেলা উচিত

[A-Za-z][-A-Za-z0-9_:.]*

তবে jquery এর কলোনগুলির সাথে সমস্যা আছে বলে মনে হয় তাই এগুলি এড়ানো ভাল।


1
বা বিকল্পভাবে: "সুতরাং jquery এড়ানো ভাল" " ;)
ডমসন

59

HTML5 এর:

আইডি অ্যাট্রিবিউট উপর অতিরিক্ত বিধিনিষেধ পরিত্রাণ পায় এখানে দেখতে । একমাত্র প্রয়োজনীয়তা (নথিতে অনন্য থাকা বাদে) হ'ল:

  1. মানটিতে কমপক্ষে একটি অক্ষর থাকতে হবে (খালি থাকতে পারে না)
  2. এতে কোনও স্থানের অক্ষর থাকতে পারে না।

প্রাক HTML5 এর:

আইডি মিলবে:

[A-Za-z][-A-Za-z0-9_:.]*
  1. অবশ্যই জেড বা এজেড অক্ষর দিয়ে শুরু করতে হবে
  2. থাকতে পারে -(হাইফেন), _(আন্ডারস্কোর), :(কোলন) এবং .(আমল)

তবে একটি এড়ানো :এবং .বোকাস করা উচিত :

উদাহরণস্বরূপ, একটি আইডি "আব: সি" লেবেলযুক্ত এবং স্টাইল শিটে #ab: c হিসাবে উল্লেখ করা যেতে পারে তবে উপাদানটির আইডি হওয়ার পাশাপাশি এটি আইডি "এ", শ্রেণি "বি", সিউডো- এর অর্থ হতে পারে নির্বাচক "সি"। বিভ্রান্তি এড়াতে এবং ব্যবহার থেকে দূরে থাকাই সেরা। এবং: পুরোপুরি।


57

এইচটিএমএল 5: আইডি এবং শ্রেণীর বৈশিষ্ট্যের জন্য অনুমোদিত মান

এইচটিএমএল 5 হিসাবে, কোনও আইডির মান সম্পর্কিত একমাত্র বিধিনিষেধগুলি:

  1. নথিতে অবশ্যই অনন্য হতে হবে
  2. কোনও স্পেস অক্ষর থাকতে হবে না
  3. কমপক্ষে একটি অক্ষর থাকতে হবে

অনুরূপ নিয়ম ক্লাসে প্রযোজ্য (অবশ্যই স্বতন্ত্রতা ব্যতীত)।

সুতরাং মানটি সমস্ত অঙ্ক হতে পারে, কেবলমাত্র একটি অঙ্ক, কেবল বিরামচিহ্নগুলি, বিশেষ অক্ষর অন্তর্ভুক্ত, যাই হোক না কেন। ঠিক কোন সাদা জায়গা নেই। এটি HTML4 থেকে খুব আলাদা।

এইচটিএমএল 4 এ, আইডি মানগুলি একটি বর্ণ দিয়ে শুরু হওয়া আবশ্যক, যা কেবলমাত্র অক্ষর, অঙ্ক, হাইফেনস, আন্ডারস্কোর, কলোন এবং পিরিয়ড দ্বারা অনুসরণ করা যেতে পারে।

এইচটিএমএল 5 এ এগুলি বৈধ:

<div id="999"> ... </div>
<div id="#%LV-||"> ... </div>
<div id="____V"> ... </div>
<div id="⌘⌥"> ... </div>
<div id="♥"> ... </div>
<div id="{}"> ... </div>
<div id="©"> ... </div>
<div id="♤₩¤☆€~¥"> ... </div>

শুধু মনে রাখবেন যে আইডির মানতে সংখ্যা, বিরামচিহ্ন বা বিশেষ অক্ষরগুলি ব্যবহার করা অন্যান্য প্রসঙ্গে (যেমন, সিএসএস, জাভাস্ক্রিপ্ট, রেজেক্স) সমস্যার কারণ হতে পারে।

উদাহরণস্বরূপ, নিম্নলিখিত আইডিটি এইচটিএমএল 5 তে বৈধ:

<div id="9lions"> ... </div>

তবে এটি সিএসএসে অবৈধ:

CSS2.1 স্পেস থেকে:

৪.১.৩ অক্ষর ও মামলা

সিএসএসে , সনাক্তকারী (উপাদানগুলির নাম, শ্রেণি এবং নির্বাচকগুলিতে আইডি সহ) কেবলমাত্র [a-zA-Z0-9] এবং আইএসও 10646 অক্ষর U + 00A0 এবং উচ্চতর, এবং হাইফেন (-) এবং আন্ডারস্কোর ( : _); তারা একটি অঙ্ক, দুটি হাইফেন বা একটি হাইফেনের পরে একটি অঙ্ক দিয়ে শুরু করতে পারে না

বেশিরভাগ ক্ষেত্রে আপনি এমন প্রসঙ্গে বর্ণগুলি পালাতে সক্ষম হতে পারেন যেখানে তাদের সীমাবদ্ধতা বা বিশেষ অর্থ রয়েছে।


ডাব্লু 3 সি রেফারেন্স

HTML5 এর

৩.২.৫.১ id গুণটি

idঅ্যাট্রিবিউট তার উপাদান এর অনন্য আইডেন্টিফায়ার (আইডি) নির্দিষ্ট করে।

উপাদানটির হোম সাবট্রির সমস্ত আইডির মধ্যে মানটি অবশ্যই অনন্য হতে হবে এবং কমপক্ষে একটি অক্ষর থাকতে হবে। মানটিতে কোনও স্থানের অক্ষর থাকতে হবে না।

দ্রষ্টব্য: আইডি কী রূপ নিতে পারে সে সম্পর্কে অন্য কোনও বিধিনিষেধ নেই; বিশেষত, আইডিগুলিতে কেবল অঙ্কগুলি থাকে, একটি অঙ্ক দিয়ে শুরু করা যায়, আন্ডারস্কোর দিয়ে শুরু করা যায়, কেবল বিরামচিহ্ন নিয়ে গঠিত হতে পারে ইত্যাদি can

৩.২..5.। class গুণটি

বৈশিষ্ট্যটি যদি নির্দিষ্ট করা থাকে তবে অবশ্যই একটি মান থাকতে হবে যা উপাদানটির সাথে সম্পর্কিত বিভিন্ন শ্রেণীর প্রতিনিধিত্ব করে স্থান-বিচ্ছিন্ন টোকেনের একটি সেট।

এইচটিএমএল উপাদান এটিতে যে ক্লাসগুলি নিয়োগ করেছে সেগুলি ক্লাস বৈশিষ্ট্যের মান স্পেসে বিভক্ত হয়ে গেলে ফিরে আসা সমস্ত শ্রেণীর সমন্বয়ে থাকে। (সদৃশগুলি এড়ানো হয়।)

টোকেন লেখকরা শ্রেণীর বৈশিষ্ট্যে ব্যবহার করতে পারেন এমন কোনও অতিরিক্ত বিধিনিষেধ নেই, তবে লেখকরা সামগ্রীর পছন্দসই উপস্থাপনা বর্ণনা করে এমন মানগুলির চেয়ে কন্টেন্টের প্রকৃতি বর্ণনা করে এমন মান ব্যবহার করতে উত্সাহিত হন।


34

অনুশীলনে অনেকগুলি সাইট idসংখ্যার সাথে শুরু করে গুণাবলী ব্যবহার করে , যদিও এটি প্রযুক্তিগতভাবে বৈধ এইচটিএমএল নয়।

এইচটিএমএল 5 খসড়া স্পেসিফিকেশন জন্য নিয়ম loosens idএবং nameবৈশিষ্ট্যাবলী: তারা এখন শুধু অস্বচ্ছ স্ট্রিং যা খালি জায়গা থাকা যায়।


32

হাইফেনস, আন্ডারস্কোরস, পিরিয়ডস, কোলন, সংখ্যা এবং চিঠিগুলি সমস্ত CSS এবং JQuery এর সাথে ব্যবহারের জন্য বৈধ। নিম্নলিখিতটি কাজ করা উচিত তবে এটি অবশ্যই পৃষ্ঠা জুড়ে অনন্য হতে হবে এবং একটি অক্ষর দিয়ে শুরু করতে হবে [এ-জা-জেড]।

কলোন এবং পিরিয়ডের সাথে কাজ করার জন্য আরও কিছুটা কাজের প্রয়োজন তবে নিম্নলিখিত উদাহরণ হিসাবে আপনি এটি করতে পারেন।

<html>
<head>
<title>Cake</title>
<style type="text/css">
    #i\.Really\.Like\.Cake {
        color: green;
    }
    #i\:Really\:Like\:Cake {
        color: blue;
    }
</style>
</head>
<body>
    <div id="i.Really.Like.Cake">Cake</div>
    <div id="testResultPeriod"></div>

    <div id="i:Really:Like:Cake">Cake</div>
    <div id="testResultColon"></div>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <script type="text/javascript">
        $(function() {
            var testPeriod = $("#i\\.Really\\.Like\\.Cake");
            $("#testResultPeriod").html("found " + testPeriod.length + " result.");

            var testColon = $("#i\\:Really\\:Like\\:Cake");
            $("#testResultColon").html("found " + testColon.length + " result.");
        });
    </script>
</body>
</html>

25

HTML5 এর

আইডি অবশ্যই অনন্য হতে হবে তা মনে রেখে। একই আইডির মান থাকা কোনও দস্তাবেজে একাধিক উপাদান থাকতে হবে না।

এইচটিএমএল 5 এ আইডি সামগ্রী সম্পর্কে নিয়মগুলি (অনন্য হওয়া বাদে):

This attribute's value must not contain white spaces. [...] 
Though this restriction has been lifted in HTML 5, 
an ID should start with a letter for compatibility.

এই W3 আইডি (MDN Fran) সম্পর্কে বৈশিষ্ট:

Any string, with the following restrictions:
must be at least one character long
must not contain any space characters
Previous versions of HTML placed greater restrictions on the content of ID values 
(for example, they did not permit ID values to begin with a number).

অধিক তথ্য:


18

কোনও সময়কালের সাথে কোনও আইডি উল্লেখ করতে আপনাকে ব্যাকস্ল্যাশ ব্যবহার করতে হবে। হাইফেন বা আন্ডারস্কোরগুলির জন্য এটি একই কিনা তা নিশ্চিত নয়। উদাহরণস্বরূপ: এইচটিএমএল

<div id="maintenance.instrumentNumber">############0218</div>

সিএসএস

#maintenance\.instrumentNumber{word-wrap:break-word;}

3
হাইফেন এবং আন্ডারস্কোরগুলি সাধারণত এড়িয়ে যাওয়ার প্রয়োজন হয় না। তবে এটির ব্যতিক্রম হ'ল যদি হাইফেন শনাক্তকারীর শুরুর দিকে উপস্থিত হয় এবং তার পরে অন্য হাইফেন (উদাহরণস্বরূপ \--abc) বা একটি অঙ্ক (উদাহরণস্বরূপ \-123) অনুসরণ করা হয়।
মিঃহাইট

16

এইচটিএমএল 4 স্পেস থেকে ...

আইডি এবং NAME টোকেনগুলি অবশ্যই একটি অক্ষর দিয়ে শুরু করা উচিত ([এ-জা-জেড]) এবং এর পরে সংখ্যক বর্ণ, অঙ্ক ([0-9]), হাইফেনস ("-"), আন্ডারস্কোর ("_") হতে পারে , কলোন (":"), এবং পিরিয়ড ("।")।

সম্পাদনা: দোহ! আবারও বোতামে মার!


16

এছাড়াও, কখনও ভুলে যাবেন না যে একটি আইডি অনন্য। একবার ব্যবহৃত হয়ে গেলে আইডি মানটি ডকুমেন্টের কোথাও আবার উপস্থিত নাও হতে পারে।

আপনার অনেক আইডি থাকতে পারে তবে সবার অবশ্যই একটি অনন্য মূল্য থাকতে হবে।

অন্যদিকে শ্রেণি-উপাদান রয়েছে। আইডির মতো এটিও বহুবার উপস্থিত হতে পারে তবে মানটি বারবার ব্যবহার করা যেতে পারে।


12

উপাদানটির জন্য একটি অনন্য শনাক্তকারী।

কোনও নথিতে একই আইডি মান থাকা উচিত নয় that

নিম্নলিখিত সীমাবদ্ধতা সহ যে কোনও স্ট্রিং:

  1. কমপক্ষে একটি অক্ষর দীর্ঘ হতে হবে
  2. কোনও স্পেস অক্ষর থাকতে হবে না:

    • ইউ + 0020 স্পেস
    • U + 0009 চরিত্রের তালিকানকরণ (ট্যাব)
    • U + 000A লাইন ফিড (এলএফ)
    • U + 000C ফর্ম ফিড (এফএফ)
    • U + 000D ক্যারিজ রিটার্ন (সিআর)

অক্ষর ব্যতীত ব্যবহারের ASCII letters and digits, '_', '-' and '.'কারণে সামঞ্জস্যের সমস্যা হতে পারে, কারণ এগুলিতে অনুমতি দেওয়া হয়নি HTML 4। যদিও এই বিধিনিষেধটি প্রত্যাহার করা হয়েছে HTML 5, সামঞ্জস্যের জন্য একটি আইডি দিয়ে একটি চিঠি শুরু করা উচিত।


11

মনে হচ্ছে যদিও কোলন (:) এবং যতিচিহ্ন (।) এইচটিএমএল বৈশিষ্ট বৈধ হয়, তারা মধ্যে ID নির্বাচকরা যেমন অবৈধ সিএসএস তাই সম্ভবত শ্রেষ্ঠ এড়ানো যদি আপনি যে উদ্দেশ্যে তাদের ব্যবহার করার জন্য মনস্থ করা।


টুইটগুলি দেখুন এখন এটি mothereff.in/css-escapes#0foo%23bar.baz%3Axx
ওরিওল

আপনি তাদের সঠিকভাবে পালাতে পারলে এগুলি অবৈধ নয়। মোথেরেফ.ইন.সি.এস.এস.এস.ক্যাপগুলি
ম্যাথিয়াস বাইনেস

10

জন্য HTML5

উপাদানটির হোম সাবট্রির সমস্ত আইডির মধ্যে মানটি অবশ্যই অনন্য হতে হবে এবং কমপক্ষে একটি অক্ষর থাকতে হবে। মানটিতে কোনও স্থানের অক্ষর থাকতে হবে না।

কমপক্ষে একটি চরিত্র, কোনও স্থান নেই।

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


9
  1. আইডিগুলি আপনার লেআউটের অংশগুলির নামকরণের জন্য সবচেয়ে উপযুক্ত হয় তাই আইডি এবং শ্রেণীর জন্য একই নাম দেওয়া উচিত নয়
  2. আইডি অক্ষর এবং বিশেষ অক্ষরের অনুমতি দেয়
  3. কিন্তু # : . * !প্রতীক ব্যবহার এড়ানো
  4. অনুমোদিত স্থান নেই
  5. সংখ্যার সাথে শুরু হয়নি বা একটি সংখ্যার পরে একটি হাইফেন
  6. সংবেদনশীল কেস
  7. আইডি নির্বাচক ব্যবহার ক্লাস সিলেক্টর ব্যবহারের চেয়ে দ্রুত
  8. হাইফেন ব্যবহার করুন "-" (আন্ডারস্কোর "_" এছাড়াও সিইওর পক্ষে ভাল তবে ব্যবহার করতে পারে না) লম্বা সিএসএস ক্লাস বা আইডি বিধি নামগুলির জন্য
  9. যদি কোনও নিয়মের মূল নির্বাচনকারী হিসাবে কোনও আইডি নির্বাচনকারী থাকে, তবে নিয়মে ট্যাগের নামটি যুক্ত করবেন না। আইডিগুলি যেহেতু অনন্য, তাই একটি ট্যাগের নাম যুক্ত করা মিলে যাওয়ার প্রক্রিয়াটি অকারণে কমিয়ে দেয়।
  10. এইচটিএমএল 5 এ, আইডি বৈশিষ্ট্যটি যে কোনও এইচটিএমএল উপাদানগুলিতে ব্যবহার করা যেতে পারে এবং এইচটিএমএল 4.01 এ, আইডি বৈশিষ্ট্যটি ব্যবহার করা যাবে না: <base>, <head>, <html>, <meta>, <param>, <script>, <style>, and <title>.

"আন্ডারস্কোর এছাড়াও এসইওর জন্য ভাল নয় তবে ব্যবহার করতে পারে": যেহেতু সার্চ ইঞ্জিনগুলি সিএসএস ক্লাস বা আইডি নামগুলির জন্য কোনও আগ্রহ নিয়েছিল?
নিক ভাত

9

যে কোনও আলফা-সংখ্যাগত মান এবং " - " এবং " _ " বৈধ valid তবে, আপনার আইডি নামটি এজেড বা আজকের মধ্যে যে কোনও অক্ষর দিয়ে শুরু করা উচিত ।



4

এইচটিএমএলে

আইডি start AZ} বা {আজ} দিয়ে শুরু করা উচিত আপনি যুক্ত করতে পারেন এমন অঙ্কগুলি, সময়কাল, হাইফেন, আন্ডারস্কোর, কোলন যুক্ত করতে পারেন।

উদাহরণ স্বরূপ:

<span id="testID2"></span>
<span id="test-ID2"></span>
<span id="test_ID2"></span>
<span id="test:ID2"></span>
<span id="test.ID2"></span>

তবে আপনি কলোন (:) বা পিরিয়ড (।) দিয়ে আইডি তৈরি করতে পারলেও এটি পক্ষে কঠিন CSS এর পক্ষে নির্বাচক হিসাবে এই আইডি ব্যবহার । মূলত যখন আপনি সিউডো উপাদান ব্যবহার করতে চান (: আগে,: পরে)।

জেএস- এও এই আইডিগুলির নির্বাচন করা শক্ত। সুতরাং আপনার চারপাশের অনেক বিকাশকারী পছন্দসই প্রথম চারটি আইডি ব্যবহার করুন এবং এটির জন্য যদি প্রয়োজনীয় হয় তবে আপনি শেষ দুটি ব্যবহার করতে পারেন।



2

ES2015 যেহেতু আমরা পাশাপাশি-সর্বস্তরের- সমস্ত ইউনিকোড অক্ষরও ব্যবহার করতে পারি আইডির জন্য ।

এখানে পরীক্ষা করে দেখুন: https://mothereff.in/js-variables

এখানে চিত্র বর্ণনা লিখুন

সম্পর্কে পড়ুন: https://mathiasbynens.be/notes/javascript- شناختfiers-es6

ES2015 এ, শনাক্তকারীদের অবশ্যই _, _, বা ইউনিকোড থেকে প্রাপ্ত মূল সম্পত্তি ID_Start সহ কোনও প্রতীক দিয়ে শুরু করতে হবে।

বাকি শনাক্তকারীতে _, _, ইউ + 200 সি শূন্য প্রস্থ নন-জোড়াকার, ইউ + 200 ডি শূন্য প্রস্থের সংযোগকারী বা ইউনিকোড থেকে প্রাপ্ত মূল সম্পত্তি ID_Continue সহ কোনও চিহ্ন থাকতে পারে।

const target = document.querySelector("div").id
console.log(
   target
)
document.getElementById(target).style.backgroundColor = "black"
div {
  border: 1px black solid;
  width: 100%;
  height: 200px
}
<div id="H̹̙̦̮͉̩̗̗ͧ̇̏̊̾Eͨ͆͒̆ͮ̃͏̷̮̣̫̤̣Cͯ̂͐͏̨̛͔̦̟͈̻O̜͎͍͙͚̬̝̣̽ͮ͐͗̀ͤ̍̀͢M̴̡̲̭͍͇̼̟̯̦̉̒͠Ḛ̛̙̞̪̗ͥͤͩ̾͑̔͐ͅṮ̴̷̷̗̼͍̿̿̓̽͐H̙̙̔̄͜">


আপনি এটি ব্যবহার করা উচিত? সম্ভবত একটি ভাল ধারণা না!

সম্পর্কে পড়ুন: https://stackoverflow.com/a/52799593/2494754


-4

বর্ণমালা-> ক্যাপস এবং ছোট
অঙ্কগুলি-> 0-9
বিশেষ অক্ষর-> ':', '-', '_', '।

ফর্ম্যাটটি হয় 'থেকে শুরু হওয়া উচিত।' বা একটি বর্ণমালা, এরপরে আরও বর্ণমালা বা সংখ্যার বিশেষ অক্ষর। আইডি ফিল্ডের মান অবশ্যই '_' এ শেষ হবে না।
এছাড়াও, স্থানগুলি অনুমতি দেওয়া হয় না, যদি সরবরাহ করা হয় তবে এগুলিকে বিভিন্ন মান হিসাবে বিবেচনা করা হয়, যা আইডি বৈশিষ্ট্যের ক্ষেত্রে বৈধ নয়।

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