HTML හි හැඳුනුම් ගුණාංගය සඳහා වලංගු අගයන් මොනවාද?


2021

idHTML මූලද්‍රව්‍ය සඳහා ගුණාංග නිර්මාණය කිරීමේදී , වටිනාකම සඳහා ඇති නීති මොනවාද?


96
මෙය HTML5 සහ පිරිවිතරයේ පෙර සංස්කරණ අතර වෙනස් වේ. මම එය මෙහි විස්තර කළෙමි: mathiasbynens.be/notes/html5-id-class
මතියස් බයිනස්

5
ෂෙයාර්පොයින්ට් 2010 මෙවැනි අගයක් ලබා දෙන බව මම දුටුවෙමි - C 8CC7EF38-31D8-4786-8C20-7E6D56E49AE2} - {E60CE5E2-6E64-4350-A884-654B72DA5A53 Web වෙබ් කොටසක් තුළ ගතිකව ජනනය කරන ලද වගුවක් සඳහා සහ හැඳුනුම්පත් වටිනාකමක් ඇති පිටුවක් ජනප්‍රිය බ්‍රව්සර් කිසිවක් තුළ එවැනි වර්ගයක් බිඳී නැත. ජාවාස්ක්‍රිප්ට් හරහා එවැනි හැඳුනුම් අගයන් සමඟ කටයුතු කිරීම උපක්‍රමශීලී
mvark

3
IDඅගයන් සඳහා HTML4 සහ HTML5 අවශ්‍යතා බෙහෙවින් වෙනස් ය. HTML5 IDනීති රීති ඉක්මන් හා සම්පූර්ණ කිරීම මෙන්න : stackoverflow.com/a/31773673/3597276
මයිකල් බෙන්ජමින්

5
කරුණාකර සටහන් කරන්න: සමහර පිළිතුරු පවසා ඇති පරිදි කිරීම සහ කාල පරිච්ඡේදයක් භාවිතා කිරීම ( **.**)jQuery සමඟ ඔබව තරමක් කරදරයකට ඇද දමනු ඇත, නිදසුනක් ලෙස, භාවිතා කිරීම <input id="me.name" />සහ පසුව කිසිවෙකුට අවශ්‍ය නොවන පංතිය සමඟ ටැගයක් $("#me.name").val()සෙවීමට jQuery හේතු වේ. ඇත්තටම!<me>.name
Can O 'Spam

3
AmSamSwift pe නෑ, ලේඛනය පවසන පරිදි ඔබට විශේෂ අක්ෂර වලින් ගැලවිය යුතුය. කරුණාකර මෙම මාර්ගගත නිරූපණය පරීක්ෂා කරන්න .
ඇල්වාරෝ ගොන්සාලෙස්

Answers:


1707

සඳහා HTML 4 , පිළිතුර තාක්ෂණික වේ:

හැඳුනුම්පත සහ NAME ටෝකන අකුරකින් ([A-Za-z]) ආරම්භ විය යුතු අතර ඉන් පසුව ඕනෑම අකුරු, ඉලක්කම් ([0-9]), යටි ඉර ("-"), අවධාරනය ("_") , කොලොන් (":"), සහ කාල පරිච්ඡේද (".").

HTML 5 ඊටත් වඩා අවසර ඇත, එය පවසන්නේ හැඳුනුම්පතක අවම වශයෙන් එක් අක්ෂරයක්වත් තිබිය යුතු බවත් කිසිදු අවකාශ අක්ෂර අඩංගු නොවිය හැකි බවත්ය.

හැඳුනුම්පත XHTML හි සිද්ධි සංවේදී වේ .

තනිකරම ප්‍රායෝගික කාරණයක් ලෙස, ඔබට සමහර චරිත මග හැරීමට අවශ්‍ය විය හැකිය. කාලපරිච්ඡේද, කොලෝන් සහ '#' සඳහා CSS තේරීම් කරුවන්ට විශේෂ අරුතක් ඇත, එබැවින් ඔබට CSS හි බැක්ස්ලෑෂ් හෝ jQuery වෙත සම්මත කරන ලද තේරීම් නූලක ද්විත්ව බැක්ස්ලෑෂ් භාවිතා කරමින් එම අක්ෂර වලින් ගැලවීමට සිදුවේ . කාල පරාසයන් සහ කොලොන්ස් සමඟ පිස්සු වැටීමට පෙර ඔබේ ස්ටයිල් ෂීට් හෝ කේතයේ ඇති අක්‍ෂරයකින් ගැලවීමට ඔබට කොපමණ වාර ගණනක් සිදුවේදැයි සිතා බලන්න.

උදාහරණයක් ලෙස, HTML ප්‍රකාශය <div id="first.name"></div>වලංගු වේ. ඔබට එම මූලද්‍රව්‍යය CSS හි #first\.nameමෙන්ම jQuery තුළද තෝරා ගත හැකිය : $('#first\\.name').නමුත් ඔබට බැක්ස්ලෑෂ් අමතක වුවහොත් $('#first.name'), ඔබට හැඳුනුම්පතක් firstසහිත අංගයක් සොයමින් සහ පන්තියක් ඇති පරිපූර්ණ වලංගු තේරීම්කරුවෙකු සිටී name. මෙය නොසලකා හැරීමට පහසු දෝෂයකි. දිගු කාලීනව හැඳුනුම්පත තෝරා ගැනීම first-name(කාල ​​පරිච්ඡේදයකට වඩා යටි ඉරක්) වෙනුවට ඔබ සතුටු විය හැකිය .

නම් කිරීමේ සම්මුතියකට තදින් ඇලී සිටීමෙන් ඔබේ සංවර්ධන කාර්යයන් සරල කළ හැකිය. නිදසුනක් ලෙස, ඔබ මුළුමනින්ම කුඩා අකුරු වලට පමණක් සීමා වී සෑම විටම හයිපන් හෝ යටි ඉරි සහිත වචන වෙන් කරන්න (නමුත් දෙකම නොවේ, එකක් තෝරාගෙන අනෙක කිසි විටෙකත් භාවිතා නොකරන්න), එවිට ඔබට පහසුවෙන් මතක තබා ගත හැකි රටාවක් තිබේ. "එය firstNameඑසේද FirstName?" ඔබ ටයිප් කළ යුතු බව ඔබ සැමවිටම දැන සිටින බැවිනි first_name. ඔටුවන්ගේ නඩුවට කැමතිද? ඉන්පසු ඒ සඳහා ඔබම සීමා කරන්න, යටි ඉරක් හෝ අවධාරණයක් නැත, සෑම විටම, පළමු අක්‍ෂරය සඳහා ඉහළ අකුරු හෝ කුඩා අකුරු නිරන්තරයෙන් භාවිතා කරන්න, ඒවා මිශ්‍ර නොකරන්න.


දැන් ඉතා අපැහැදිලි ගැටළුවක් වූයේ අවම වශයෙන් එක් බ්‍රව්සරයක් වන නෙට්ස්කේප් 6, හැඳුනුම්පත් අගයන් සිද්ධි සංවේදී ලෙස වැරදි ලෙස සැලකීමයි . එයින් අදහස් වන්නේ ඔබ id="firstName"ඔබේ HTML (කුඩා අකුරු 'f') සහ #FirstName { color: red }ඔබේ CSS (ඉහළ අකුරු 'F') ටයිප් කර ඇත්නම් , එම දෝෂ සහිත බ්‍රව්සරය මූලද්‍රව්‍යයේ වර්ණය රතු පැහැයට සැකසීමට අසමත් වනු ඇති බවයි. මෙම සංස්කරණය කරන විට, 2015 අප්‍රියෙල්, නෙට්ස්කේප් 6 සඳහා සහය ලබා දෙන ලෙස ඔබෙන් ඉල්ලා නොසිටින බව මම විශ්වාස කරමි. මෙය foot තිහාසික පාද සටහනක් සලකා බලන්න.


78
පන්තිය හා id වර්ණනාවන් සටහන වේ XHTML දී තටු සංවේදී, අනෙකුත් සියලු ගුණාංග නොවේ. එරික් මේයර් මා සහභාගී වූ CSS වැඩමුළුවකදී මේ ගැන සඳහන් කළේය.
ජෝන් ටොප්ලි

31
හැඳුනුම්පතක් මගින් මූලද්‍රව්‍යයක් ඉලක්ක කර ගැනීම සඳහා ඔබ CSS රීතියක් ලිවීමට උත්සාහ කළහොත් සහ අංකයක් සහිත හැඳුනුම්පත් ඇති අය එය ක්‍රියාත්මක නොවන බව සලකන්න. බමර්!
සැක් ද හියුමන්

55
'සඳහා.' හෝ ':' jQuery භාවිතා කරන හැඳුනුම්පතක, jQuery නිතර අසන පැන බලන්න . අවශ්‍ය පලායාම සිදු කරන කුඩා ශ්‍රිතයක් එහි අඩංගු වේ.
වුල්ෆ්රාම්

7
මෙම idගති ලක්ෂණය [ඇත w3.org/TR/html4/struct/global.html#adef-id](case HTML4 සංවේදී) සහ Z කිරීමට සීමා ලිපියක් () ආරම්භ කිරීමට ඇත. ඔබගේ CSS පන්තිය සමග මූලද්රව්යයක් යනු සිට ඔබේ ආදර්ශය ඔබේ අංගයක් ගේ පෙළ සඳහා වර්ණය නො කළ යුතු බව සටහන් රතු FirstNameනොවන ඔබේ id.
ඔගස්ටස් ක්ලින්ග්

5
ඔගස්ටස් පෙන්වා දුන් දෝෂය තවමත් පවතී. ඔබේ උදාහරණයේ දී, ඔබට id="firstName"HTML 4 හෝ HTML 5 සහ #FirstName { color: red }CSS හි තිබේ නම්, දෝෂ සහිත බ්‍රව්සරයක් පමණක් මූලද්‍රව්‍යයේ වර්ණය රතු පැහැයට සකසනු ඇත.
ස්ටීවන් බූහර්

221

සිට HTML 4 පිරිවිතර :

හැඳුනුම්පත සහ NAME ටෝකන අකුරකින් ([A-Za-z]) ආරම්භ විය යුතු අතර ඉන් පසුව ඕනෑම අකුරු, ඉලක්කම් ([0-9]), යටි ඉර ("-"), අවධාරනය ("_") , කොලොන් (":"), සහ කාල පරිච්ඡේද (".").

පොදු වැරැද්දක් වන්නේ ඉලක්කම් වලින් ආරම්භ වන හැඳුනුම්පතක් භාවිතා කිරීමයි.


20
HTML5 වැඩි නම් ඉඩ HTML4 උදාහරණයක් බලන්න සටහන 456bereastreet.com/archive/201011/... හා w3.org/TR/html5/elements.html#the-id-attribute
මහතා මෝර

අවධාරනය කර IE6 හැඳුනුම්පතට සහය නොදක්වයි, නමුත් එය කෙසේ හෝ මිය ගොස් ඇත.
doc_id

2
IE6 සම්බන්ධයෙන් @rahmanisback, යමෙක් එසේ සිතනු ඇත, නමුත් මම දැන් බැංකුවක් සඳහා යෝජනාවක් අවසන් කරමි. වෙළෙන්දෙකු විසින් වර්ධනය කරන ඕනෑම යෙදුමක් IE6 තුළ ධාවනය වන ලෙස ඔවුහු අවධාරනය කරති. මෙය පරිශීලකයින් 30,000 ක් සඳහා වේ. හෙක්, එම ඩෙස්ක්ටොප් පරිගණකවල ඔවුන්ගේ බ්‍රව්සර් යාවත්කාලීන කිරීමට අපට හැකි නම්, එය විරැකියා අනුපාතයට උපකාරී වනු ඇත.
කාල්

2
Ar කාල් මට මෙය ඇසීම ගැන කණගාටුයි. IE6 ආරක්ෂක ගැටළු පිළිබඳව අනතුරු ඇඟවීමට ඔබ ගන්නා සියලු උත්සාහයන් කරන්න. කෙසේ වෙතත් IE7 ඉතා ඉක්මනින් නව IE6 වනු ඇත, එබැවින් ඔව්, MS හි අතීත වැරදි වලට පිළියම් යෙදීම මෙම කර්මාන්තයේ අපගේ ඉරණම බව පෙනේ.
doc_id

RMrShark දෙවන සබැඳිය කැඩී ඇත; නව සබැඳිය
SWdV

155

හැඳුනුම්පත් / නාම ලක්ෂණ වල ඔබට තාක්‍ෂණිකව කොලොන් සහ කාල පරිච්ඡේද භාවිතා කළ හැකිය, නමුත් මම දෙකම තදින්ම යෝජනා කරමි.

CSS හි (සහ jQuery වැනි ජාවාස්ක්‍රිප්ට් පුස්තකාල කිහිපයක), කාල පරිච්ඡේදය සහ මහා බඩවැල් යන දෙකටම විශේෂ අරුතක් ඇති අතර ඔබ පරෙස්සම් නොවන්නේ නම් ඔබ ගැටළු වලට මුහුණ දෙනු ඇත. කාලපරිච්ඡේදයන් පන්ති තේරීම් කරුවන් වන අතර කොලෝන් ව්‍යාජ තේරීම්කරුවන් වේ (උදා: මූසිකය ඉක්මවා ගිය විට මූලද්‍රව්‍යයක් සඳහා ": හොවර්").

ඔබ "my.cool:thing" යන හැඳුනුම්පත ලබා දුන්නොත්, ඔබේ CSS තේරීම්කරු මේ ආකාරයෙන් පෙනෙනු ඇත:

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

ඇත්ත වශයෙන්ම කියනුයේ, “මගේ” හැඳුනුම්පතක් සහිත මූලද්‍රව්‍යය, “සිසිල්” පංතියක් සහ සීඑස්එස්-කථාවේ “දෙය” ව්‍යාජ තේරීම් කාරකය ”යන්නයි.

ඕනෑම අවස්ථාවක, අංක, අවධාරනය සහ යටි ඉරෙහි AZ වෙත ඇලී සිටින්න. ඉහත සඳහන් කළ පරිදි, ඔබේ අයිඩී අද්විතීය බවට වග බලා ගන්න.

එය ඔබේ පළමු සැලකිල්ල විය යුතුය.


21
ඔබට කොලෝන් සහ කාල පරිච්ඡේද භාවිතා කළ හැකිය - නමුත් ඔබට ද්විත්ව බැක්ස්ලෑෂ් භාවිතා කර ඒවායින් ගැලවීමට අවශ්‍ය වනු ඇත, උදා: $ ('# මගේ \\. සිසිල් \\: දෙයක්') හෝ විචල්‍යයකින් ගැලවීම: $ ('#' + id.replace (/ \ ./, '\\.'). ආදේශ කරන්න (/ \: /, '\\:')) groups.google.com/group/jquery-en/browse_thread/thread/…
joeformd

2
ඇයි සංඛ්‍යා; ඇයි AZ? ඔබ අංකයෙන් ආරම්භ නොකරන තාක් කල්, අංකයක් සමඟ යතුර සහිත දත්ත හා සම්බන්ධ මූලද්‍රව්‍යයන් යොමු කිරීමේදී අංක ඉතා ප්‍රයෝජනවත් හැඳුනුම්පත් වේ.
කෝරි

4
FYI, ඩෑෂ් යනු තාක්ෂණික යටි ඉරයි. Us ණ ලකුණ ASCII අක්ෂර කට්ටලයේ නොමැත. en.wikipedia.org/wiki/Plus_and_minus_signs#Character_codes
ඇන්ටන් ස්ට්‍රොගොනොෆ්

4
ඔබට මෙම අක්ෂර ( ., :) අයිඩී වල තිබේ නම් සහ ඒවා ඉවත් කිරීමට නොහැකි නම් (කැස්ස ... ෂෙයාර්පොයින්ට්), ඔබට මෙය අයිඑස් තේරීම් කාරක වෙනුවට ගුණාංග තේරීම් [id='my.cool:thing']කරුවන් සමඟ CSS හරහා ලබා ගත හැකිය, උදා , කෙසේ වෙතත් මෙම තේරීම් කාරකයට වඩා අඩු නිශ්චිතතාවයක් ඇත id selector, එය වෙනත් ගැටළු ඇති කළ හැකිය.
ෆවුස්ට්

2
පරණ, මම දනිමි, නමුත් යටි ඉරෙහි සංඛ්‍යා සහ බැක්පීඩල් ඇතුළත් කිරීමට යාවත්කාලීන කරන ලදි
මයිකල් තොම්සන්

67

jQuery කරන්නේ කිසිදු වලංගු හැඳුනුම්පතක් නම හැසිරවිය. ඔබට අවශ්‍ය වන්නේ මෙටාචරැක්ටර් වලින් (එනම් තිත්, අර්ධ සළකුණු, හතරැස් වරහන් ...) පැන යාමයි. එය හරියට ජාවාස්ක්‍රිප්ට් හි උපුටා දැක්වීම් සමඟ ගැටළුවක් ඇත්තේ ඔබට ලිවිය නොහැකි නිසා පමණි

var name = 'O'Hara';

JQuery API හි තේරීම්කරුවන් (පහළ සටහන බලන්න)


66

තදින් එය ගැලපිය යුතුය

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

නමුත් jquery හට කොලොන් සමඟ ගැටලු ඇති බැවින් ඒවා වළක්වා ගැනීම වඩා හොඳය.


2
හෝ විකල්පයක් ලෙස: "එබැවින් jquery වලින් වැළකී සිටීම වඩා හොඳ විය හැකිය". ;)
domsson

59

HTML5:

හැඳුනුම්පතේ ඇති අමතර සීමාවන් ඉවත් කිරීම මෙතැනින් බලන්න . ඉතිරිව ඇති එකම අවශ්‍යතා (ලේඛනයේ අද්විතීය වීම හැර):

  1. අගය අවම වශයෙන් එක් අක්ෂරයක්වත් අඩංගු විය යුතුය (හිස් විය නොහැක)
  2. එයට කිසිදු අවකාශ අක්ෂර අඩංගු විය නොහැක.

PRE-HTML5:

හැඳුනුම්පත ගැලපිය යුතුය:

[A-Za-z][-A-Za-z0-9_:.]*
  1. AZ හෝ az අක්ෂර වලින් ආරම්භ කළ යුතුය
  2. එහි අඩංගු වී තිබිය හැක -(කෙටි ඉරි), _(underscore), :(බඩවැලේ) සහ .(කාලය)

නමුත් එක් වැළකී සිටිය යුත්තේ :හා .beacause:

උදාහරණයක් ලෙස, හැඳුනුම්පතක් "ab: c" ලෙස ලේබල් කර ස්ටයිල් ෂීට් හි #ab: c ලෙස සඳහන් කළ හැකි නමුත් මූලද්‍රව්‍යය සඳහා හැඳුනුම්පත වීම නිසා එහි අර්ථය "a", පන්තිය "b", ව්‍යාජ- තේරීම් කාරකය "ඇ". ව්යාකූලත්වය වළක්වා ගැනීම සහ භාවිතයෙන් stay ත්ව සිටීම වඩාත් සුදුසුය. සහ: සම්පූර්ණයෙන්ම.


57

HTML5: හැඳුනුම්පත සහ පන්ති ගුණාංග සඳහා අවසර ලත් අගයන්

HTML5 අනුව, හැඳුනුම්පතක වටිනාකම මත ඇති එකම සීමාවන්:

  1. ලේඛනයේ අද්විතීය විය යුතුය
  2. කිසිදු අවකාශ අක්ෂර අඩංගු නොවිය යුතුය
  3. අවම වශයෙන් එක් අක්ෂරයක්වත් අඩංගු විය යුතුය

පංති සඳහා සමාන නීති අදාළ වේ (අද්විතීයභාවය හැර, ඇත්ත වශයෙන්ම).

එබැවින් අගය සියලු ඉලක්කම් විය හැකිය, එක් ඉලක්කම් පමණක්, විරාම ලකුණු පමණක්, විශේෂ අක්ෂර ඇතුළත් වේ. හිස් අවකාශයක් නැත. මෙය HTML4 ට වඩා බෙහෙවින් වෙනස් ය.

HTML 4 හි, හැඳුනුම් අගයන් අකුරකින් ආරම්භ විය යුතු අතර, එය අනුගමනය කළ හැක්කේ අකුරු, ඉලක්කම්, යටි ඉර, අවධාරනය, කොලෝන් සහ කාල පරිච්ඡේද වලින් පමණි.

HTML5 හි මේවා වලංගු වේ:

<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>

හැඳුනුම්පතක වටිනාකමෙහි සංඛ්‍යා, විරාම ලකුණු හෝ විශේෂ අක්ෂර භාවිතා කිරීම වෙනත් සන්දර්භයන්හි (උදා: CSS, JavaScript, regex) කරදර ඇති කළ හැකි බව මතක තබා ගන්න.

උදාහරණයක් ලෙස, පහත හැඳුනුම්පත HTML5 හි වලංගු වේ:

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

කෙසේ වෙතත්, එය CSS හි වලංගු නොවේ:

CSS2.1 පිරිවිතරයෙන්:

4.1.3 චරිත සහ නඩුව

CSS හි, හඳුනාගැනීම් වලට (තේරීම් කරුවන්ගේ මූලද්‍රව්‍ය නම්, පංති සහ හැඳුනුම්පත් ඇතුළුව) අඩංගු විය හැක්කේ [a-zA-Z0-9] සහ ISO 10646 අක්ෂර U + 00A0 සහ ඊට වැඩි, සහ යටි ඉර (-) සහ යටි ඉරි () _); ඒවාට ඉලක්කම්, යටි ඉරක් හෝ හයිපනයකින් පසුව ඉලක්කම් වලින් ආරම්භ කළ නොහැක .

බොහෝ අවස්ථාවන්හීදී ඔබට සීමාවන් හෝ විශේෂ අරුතක් ඇති සන්දර්භය තුළ අක්ෂර වලින් ගැලවීමට ඔබට හැකිය.


W3C යොමුව

HTML5

3.2.5.1 id ගුණාංගය

එම id ගති ලක්ෂණය එහි අංගයක් ගේ අනුපම අනන්යකාරකය (ID) දක්වයි.

මූලද්රව්යයේ ගෘහ උප කුලකයේ ඇති සියලුම හැඳුනුම්පත් අතර වටිනාකම අද්විතීය විය යුතු අතර අවම වශයෙන් එක් අක්ෂරයක්වත් තිබිය යුතුය. අගයෙහි කිසිදු අවකාශ අක්ෂර අඩංගු නොවිය යුතුය.

සටහන: හැඳුනුම්පතක් ගත හැකි ආකාරය පිළිබඳ වෙනත් සීමාවන් නොමැත; විශේෂයෙන් හැඳුනුම්පත් හුදෙක් ඉලක්කම් වලින් සමන්විත විය හැකිය, ඉලක්කම් වලින් ආරම්භ කරන්න, යටි ඉරි වලින් ආරම්භ කරන්න, විරාම ලකුණු වලින් සමන්විත විය හැකිය.

3.2.5.7 class ගුණාංගය

ගුණාංගය, නිශ්චිතව දක්වා තිබේ නම්, මූලද්‍රව්‍යයට අයත් විවිධ පංති නියෝජනය කරන අවකාශයෙන් වෙන් කළ ටෝකන සමූහයක් වන අගයක් තිබිය යුතුය.

HTML අංගයක් එයට පවරා ඇති පංති වලින් සමන්විත වන්නේ පන්ති ගුණාංගයේ අගය අවකාශයන් මත බෙදී ගිය විට ආපසු ලබා දෙන සියලුම පන්ති වලින් ය. (අනුපිටපත් නොසලකා හරිනු ලැබේ.)

පංති ගුණාංගය තුළ කතුවරුන්ට භාවිතා කළ හැකි ටෝකන සඳහා අමතර සීමාවන් නොමැත, නමුත් අන්තර්ගතය අපේක්ෂිත ඉදිරිපත් කිරීම විස්තර කරන අගයන්ට වඩා අන්තර්ගතයේ ස්වභාවය විස්තර කරන අගයන් භාවිතා කිරීමට කතුවරුන් දිරිමත් කරනු ලැබේ.


34

ප්‍රායෝගිකව බොහෝ වෙබ් අඩවි idසංඛ්‍යාත්මකව ආරම්භ වන ගුණාංග භාවිතා කරයි , මෙය තාක්‍ෂණිකව වලංගු නොවන HTML නොවේ.

මෙම HTML 5 කෙටුම්පත පිරිවිතර සඳහා නීති දක්වා දැසනන idහා nameගුණාංග: ඔවුන් දැන් ඉඩක් අඩංගු නොවිය හැකි පමණක් විනිවිද නොපෙනෙන නූල් වේ.


32

යටි ඉර, අවධාරනය, කාල පරිච්ඡේද, කොලෝන්, අංක සහ අකුරු සියල්ලම CSS සහ JQuery සමඟ භාවිතා කිරීම සඳහා වලංගු වේ. පහත සඳහන් දෑ ක්‍රියාත්මක විය යුතු නමුත් එය පිටුව පුරා අද්විතීය විය යුතු අතර [A-Za-z] අකුරකින් ආරම්භ කළ යුතුය.

කොලොන් සහ කාල පරිච්ඡේද සමඟ වැඩ කිරීමට තව ටිකක් වැඩ කළ යුතු නමුත් පහත උදාහරණයෙන් දැක්වෙන පරිදි ඔබට එය කළ හැකිය.

<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

හැඳුනුම්පත අද්විතීය විය යුතු බව මතක තබා ගැනීම, එනම්. එකම හැඳුනුම් අගයක් ඇති ලේඛනයක බහු අංග තිබිය යුතු නොවේ.

HTML5 හි හැඳුනුම් අන්තර්ගතය පිළිබඳ නීති (අද්විතීය වීමට අමතරව):

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 från) ගැන පිරිවිතර:

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).

වැඩි විස්තර:

  • W3 - ගෝලීය ලක්ෂණ (id)
  • MDN atribute (id)

18

යම් කාල පරිච්ඡේදයක් සහිත හැඳුනුම්පතක් යොමු කිරීම සඳහා ඔබ බැක්ස්ලෑෂ් භාවිතා කළ යුතුය. යටි ඉර හෝ අවධාරනය සඳහා එය සමාන දැයි විශ්වාස නැත. උදාහරණයක් ලෙස: HTML

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

CSS

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

3
යටි ඉර සහ අවධාරනය සාමාන්‍යයෙන් ගැලවීමට අවශ්‍ය නැත. කෙසේ වෙතත්, මෙයට ව්‍යතිරේකය වන්නේ හඳුනාගැනීමේ ආරම්භයේ දී යටි ඉර දිස්වන අතර පසුව වෙනත් යටි ඉරක් (උදා. \--abc) හෝ ඉලක්කම් (උදා. \-123) අනුගමනය කරයි.
මිස්ටර් වයිට්

16

HTML 4 පිරිවිතරයෙන් ...

හැඳුනුම්පත සහ NAME ටෝකන අකුරකින් ([A-Za-z]) ආරම්භ විය යුතු අතර ඉන් පසුව ඕනෑම අකුරු, ඉලක්කම් ([0-9]), යටි ඉර ("-"), අවධාරනය ("_") , කොලොන් (":"), සහ කාල පරිච්ඡේද (".").

සංස්කරණය කරන්න: අනේ! බොත්තමට පහර දෙන්න, නැවතත්!


16

හැඳුනුම්පතක් අද්විතීය බව කිසි විටෙකත් අමතක නොකරන්න. භාවිතා කළ පසු, ID අගය ලේඛනයේ කොතැනකවත් නොපෙන්වයි.

ඔබට බොහෝ හැඳුනුම්පත් තිබිය හැකි නමුත් සියල්ලටම අද්විතීය වටිනාකමක් තිබිය යුතුය.

අනෙක් අතට, පන්ති මූලද්රව්යය ඇත. හැඳුනුම්පත මෙන්, එය බොහෝ වාරයක් දර්ශනය විය හැකි නමුත් අගය නැවත නැවතත් භාවිතා කළ හැකිය.


12

මූලද්රව්යය සඳහා අද්විතීය හඳුනාගැනීමක්.

එකම හැඳුනුම් අගයක් ඇති ලේඛනයක බහු අංග තිබිය යුතු නොවේ.

පහත දැක්වෙන සීමාවන් සහිත ඕනෑම නූලක්:

  1. අවම වශයෙන් එක් අක්ෂරයක්වත් දිග විය යුතුය
  2. කිසිදු අවකාශ අක්ෂර අඩංගු නොවිය යුතුය:

    • U + 0020 SPACE
    • U + 0009 අක්ෂර වගුව (පටිත්ත)
    • U + 000A LINE FEED (LF)
    • U + 000C FORM FEED (FF)
    • U + 000D CARRIAGE RETURN (CR)

අක්ෂර හැර භාවිතා කිරීම ASCII letters and digits, '_', '-' and '.'ඒවාට ඉඩ නොදුන් බැවින් අනුකූලතා ගැටලු ඇති විය හැක HTML 4. මෙම සීමාව ඉවත් කර ඇතත් HTML 5, අනුකූලතාවයක් සඳහා ලිපියක් සමඟ හැඳුනුම්පතක් ආරම්භ කළ යුතුය.


11

HTML පිරිවිතරයේ කොලෝන් (:) සහ කාල (.) වලංගු වුවද, ඒවා CSS හි හැඳුනුම් තේරීම්කරුවන් ලෙස වලංගු නොවන බව පෙනේ, එබැවින් ඔබ ඒවා ඒ සඳහා භාවිතා කිරීමට අදහස් කරන්නේ නම් එය වළක්වා ගත හැකිය.


AthMathiasBynens සබැඳිය කැඩී ඇත. දැන් එය mothereff.in/css-escapes#0foo%23bar.baz%3Aqux
Oriol

ඔබ ඒවා නිවැරදිව පැන ගියහොත් ඒවා අවලංගු නොවේ. Mothereff.in/css-escapes#0foo%23bar.baz%3Aqux
මතියස් බයිනස්

10

සඳහා HTML5

මූලද්රව්යයේ ගෘහ උප කුලකයේ ඇති සියලුම හැඳුනුම්පත් අතර වටිනාකම අද්විතීය විය යුතු අතර අවම වශයෙන් එක් අක්ෂරයක්වත් තිබිය යුතුය. අගයෙහි කිසිදු අවකාශ අක්ෂර අඩංගු නොවිය යුතුය.

අවම වශයෙන් එක් අක්ෂරයක්වත්, අවකාශයක් නොමැත.

උච්චාරණය කළ අක්ෂර භාවිතා කිරීම වැනි වලංගු භාවිත අවස්ථා සඳහා මෙය දොර විවර කරයි. ඔබ අපට පාදයේ වෙඩි තැබීම සඳහා තවත් උණ්ඩ විශාල ප්‍රමාණයක් ලබා දෙයි, මන්ද ඔබට දැන් හැඳුනුම් අගයන් භාවිතා කළ හැකි අතර එය CSS සහ JavaScript යන දෙකටම ගැටලු ඇති කරයි.


9
  1. ඔබගේ පිරිසැලසුමේ කොටස් නම් කිරීම සඳහා හැඳුනුම්පත් වඩාත් සුදුසු බැවින් ID සහ පන්තිය සඳහා එකම නමක් ලබා නොදිය යුතුය
  2. හැඳුනුම්පත අක්ෂරාංක හා විශේෂ අක්ෂර සඳහා ඉඩ දෙයි
  3. නමුත් භාවිතා කිරීමෙන් වළකින්න # : . * ! සංකේත
  4. ඉඩ නොදේ
  5. ඉලක්කම් හෝ හයිපනයකින් පසුව ඉලක්කම් වලින් ආරම්භ නොවේ
  6. විෂය සංවේදී
  7. ID තේරීම් භාවිතා කිරීම පන්ති තේරීම් භාවිතා කිරීමට වඩා වේගවත් වේ
  8. දිගු CSS පංතිය හෝ හැඳුනුම් රීති නාම සඳහා හයිපනය "-" (අවධාරනය කරන්න "_" ද භාවිතා කළ හැකි නමුත් එය SEO සඳහා හොඳ නොවේ)
  9. රීතියකට එහි ප්‍රධාන තේරීම්කරු ලෙස හැඳුනුම්පත් තේරීමක් තිබේ නම්, රීතියට ටැග් නම එක් නොකරන්න. හැඳුනුම්පත් අද්විතීය බැවින්, ටැග් නමක් එකතු කිරීම අනවශ්‍ය ලෙස ගැලපීමේ ක්‍රියාවලිය මන්දගාමී කරයි.
  10. HTML5 හි, හැඳුනුම්පත ඕනෑම HTML අංගයක් මත භාවිතා කළ හැකි අතර HTML 4.01 හි, id ගුණාංගය භාවිතා කළ නොහැක: <base>, <head>, <html>, <meta>, <param>, <script>, <style>, and <title>.

"අවධාරනය කිරීම සඳහා භාවිතා කළ හැකි නමුත් SEO සඳහා හොඳ නොවේ": සෙවුම් යන්ත්‍ර CSS පන්තිය හෝ හැඳුනුම් නාම ගැන උනන්දුවක් දැක්වූයේ කවදා සිටද?
නික් රයිස්

9

ඕනෑම ඇල්ෆා සංඛ්‍යාත්මක අගයක් සහ " - " සහ " _ " වලංගු වේ. නමුත්, ඔබ හැඳුනුම්පතේ නම AZ හෝ az අතර ඕනෑම අක්ෂරයකින් ආරම්භ කළ යුතුය .


6

අවකාශයක් නොමැත, අවම වශයෙන් a සිට z දක්වා සහ 0 සිට 9 දක්වා වර්‍ගයකින් ආරම්භ විය යුතුය.


4

HTML හි

ID ආරම්භ කළ යුත්තේ ඔබට එකතු කළ හැකි {AZ} හෝ {az with සමඟ ය ඉලක්කම්, කාල සීමාව, යටි ඉර, අවධාරනය, කොලෝන් .

උදාහරණයක් වශයෙන්:

<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 හට මෙම හැඳුනුම්පත තේරීම් කාරක ලෙස භාවිතා කිරීම දුෂ්කර ය . ප්රධාන වශයෙන් ඔබට ව්යාජ මූලද්රව්ය භාවිතා කිරීමට අවශ්ය විට (: පෙර ,: පසු).

JS එය මෙම හැඳුනුම්පත ගේ තෝරා ගැනීමට අවශ්යය වේ. එබැවින් ඔබ බොහෝ සංවර්ධකයින් විසින් කැමති පරිදි පළමු හැඳුනුම්පත් හතර භාවිතා කළ යුතු අතර ඔබට අවශ්‍ය නම් අන්තිම දෙකද භාවිතා කළ හැකිය.



2

ලේඛණ අක්ෂර කට්ටලය UTF8 ලෙස සකසා තිබේ නම්, ES2015 සිට අපට හැඳුනුම්පත් සඳහා -අනතුරුව- සියලු යුනිකෝඩ් අක්ෂර භාවිතා කළ හැකිය .

මෙතැනින් පරීක්ෂා කරන්න: https://mothereff.in/js-variables

රූප විස්තරය මෙහි ඇතුළත් කරන්න

ගැන කියවන්න: https://mathiasbynens.be/notes/javascript-identifiers-es6

ES2015 දී, හඳුනාගැනීම් $, _, හෝ යුනිකෝඩ් ව්‍යුත්පන්න කළ මූලික දේපල ID_Start සමඟ ඕනෑම සංකේතයකින් ආරම්භ කළ යුතුය.

අනන්‍යතාවයේ ඉතිරි කොටසෙහි $, _, U + 200C ශුන්‍ය පළල සම්බන්ධ නොවන, U + 200D ශුන්‍ය පළල සම්බන්ධකය හෝ යුනිකෝඩ් ව්‍යුත්පන්න කළ මූලික දේපල 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

alphabets-> caps & small
ඉලක්කම්-> 0-9
විශේෂ අක්ෂර-> ':', '-', '_', '.'

ආකෘතිය 'සිට' ආරම්භ විය යුතුය. හෝ හෝඩියක් හෝ ඊට පසුව තවත් අක්ෂර හෝ සංඛ්‍යා වල විශේෂ අක්ෂර වලින් එකක්. හැඳුනුම් ක්ෂේත්‍රයේ අගය '_' වලින් අවසන් නොවිය යුතුය.
එසේම, අවකාශයන් ඉඩ නොදේ, සපයා තිබේ නම්, ඒවා විවිධ අගයන් ලෙස සලකනු ලැබේ, හැඳුනුම් ගුණාංග වලදී එය වලංගු නොවේ.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.