ฉันควรตั้งจุดยึด HTML ด้วย 'ชื่อ' หรือ 'id' หรือไม่


783

เมื่อต้องการอ้างถึงบางส่วนของหน้าเว็บด้วยhttp://example.com/#fooวิธีการ "" ควรใช้อย่างใดอย่างหนึ่ง

<h1><a name="foo"/>Foo Title</h1>

หรือ

<h1 id="foo">Foo Title</h1>

พวกเขาทั้งสองทำงาน แต่พวกเขาเท่ากันหรือมีความแตกต่างทางความหมาย?


2
ลิงก์ควรเป็นhttp://example.com#foo(โดยไม่มี / มาก่อน #)
Dana

71
จริงhttp://example.com#fooและhttp://example.com/#fooเทียบเท่าตามที่กำหนดไว้ในหนึ่งใน RFCs บน URIs
Oliver

คำตอบ:


616

ตามข้อกำหนด HTML 5, 5.9.8 การนำทางไปยังตัวระบุส่วน :

สำหรับเอกสาร HTML (และประเภทข้อความ / html MIME) จะต้องปฏิบัติตามรูปแบบการประมวลผลต่อไปนี้เพื่อกำหนดว่าส่วนที่ระบุของเอกสารคืออะไร

  1. แยก URL และให้ Fragid เป็นส่วนประกอบ <fragment> ของ URL
  2. หาก Fragid เป็นสตริงว่างส่วนที่ระบุของเอกสารจะอยู่ด้านบนของเอกสาร
  3. หากมีองค์ประกอบใน DOM ที่มี ID เท่ากับ Fragid ดังนั้นองค์ประกอบแรกในลำดับต้นไม้คือส่วนที่ระบุของเอกสาร หยุดอัลกอริทึมที่นี่
  4. หากมีเป็นองค์ประกอบใน DOM ที่มีแอตทริบิวต์ชื่อที่มีค่าเท่ากับ fragid แล้วองค์ประกอบดังกล่าวครั้งแรกในการสั่งซื้อต้นไม้เป็นส่วนที่ระบุของเอกสาร; หยุดอัลกอริทึมที่นี่
  5. มิฉะนั้นจะไม่มีส่วนที่ระบุของเอกสาร

ดังนั้นมันจะมองหาid="foo"แล้วจะติดตามname="foo"

แก้ไข: ตามที่ระบุโดย @hsivonen ใน HTML5 aองค์ประกอบจะไม่มีแอตทริบิวต์ชื่อ อย่างไรก็ตามกฎข้างต้นยังคงใช้กับองค์ประกอบที่มีชื่ออื่น ๆ


76
ไม่มีความสัมพันธ์โดยนัยระหว่างอัลกอริทึมและความถูกต้อง <a name> ไม่ถูกต้องใน HTML5 ตามที่ร่างไว้ในปัจจุบัน
hsivonen

13
ที่จริงแล้วมันใช้ไม่ได้กับ "องค์ประกอบที่มีชื่อ" อื่น ๆ สำหรับคุณลักษณะของชื่อแล้วจะมีผลกับ <a name> เท่านั้น อย่างไรก็ตามผู้เขียนไม่สามารถใช้คุณลักษณะนี้ได้ มันจะต้องได้รับเกียรติจากตัวแทนผู้ใช้สำหรับหน้า HTML ที่เก่ากว่า
แอน

19
@RafaelSoares <h1 id="foo">Foo Title</h1>ทำงานได้แม้ใน IE6 และเป็นส่วนหนึ่งของข้อกำหนด HTML 4.01
Aprillion

4
มันจะไม่ค้นหาชื่อ = "foo" แต่สำหรับ <a name="foo"> ดูลิงค์
Daniel Herzog

3
ในเอกสาร HTML5 ที่มี a name="foo"และ a id="foo"(เป็นอิสระจากคำสั่งของพวกเขาภายในหน้า) Chrome และ Firefox จะข้ามไปที่idแต่ IE (ทดสอบใน 11) และ Edge จะข้ามไปที่name
Alvaro Montoro

182

คุณไม่ควรใช้<h1><a name="foo"/>Foo Title</h1>ในรสชาติของ HTML ใด ๆ ที่ทำหน้าที่เป็นtext/htmlเพราะ XML text/htmlไวยากรณ์องค์ประกอบที่ว่างเปล่าที่ไม่ได้รับการสนับสนุนใน อย่างไรก็ตาม<h1><a name="foo">Foo Title</a></h1>ตกลงใน HTML4 ไม่ถูกต้องใน HTML5 ตามที่ร่างไว้ในปัจจุบัน

<h1 id="foo">Foo Title</h1>ตกลงทั้งใน HTML4 และ HTML5 สิ่งนี้จะไม่ทำงานใน Netscape 4 แต่คุณอาจใช้คุณสมบัติอื่นอีกหลายโหลที่ไม่สามารถใช้งานได้ใน Netscape 4


6
+1 สำหรับการพูดคุยเกี่ยวกับการสนับสนุนเบราว์เซอร์ NS4 เป็นเพียงคนเดียวที่ไม่สนับสนุน url # id => element.id?
Hashbrown

14
@Hashbrown ไม่พบคำตอบดังนั้นฉันจึงทำการทดสอบ ฉันพบว่าเบราว์เซอร์รักษาแม้จะเก่ามากids เช่นเดียวกับnameเบรกในแง่ของเศษ URL และความเข้ากันได้ของแบบ CSS :targetเลือก ทดสอบแล้ว: Chrome 6, Firefox 1.5, IE6, Opera 8.02, Safari 3.1.2, Netscape 7.2, Lynx 2.24 และเบราว์เซอร์มือถือ: Android 2.2, Chrome 26, Dolphin 9.3, Firefox 19, IE10, Safari 4 และ Opera Mini 5.1
Stephen M. Harris

1
@smhmic ฉันพบหนึ่ง เว็บเบราว์เซอร์ Off-By-One รับรู้ถึงแองเคอร์ที่กำหนดผ่าน <a name="foo"/> แต่จะไม่รู้จักแองเคอร์ที่กำหนดผ่าน <someag id = "foo"> OB1 อัปเดตล่าสุด> 8 ปีที่แล้ว ผู้เขียนกล่าวว่า "อาจเป็นเว็บเบราว์เซอร์ที่เล็กและเร็วที่สุดในโลกพร้อมรองรับ HTML 3.2 แบบเต็ม" มันอ้างว่ารองรับ Win95 ถึง XP แต่ใช้ได้ดีกับ Win7 64- บิต แล้วทำไมถึงมีไดโนเสาร์เช่นนี้? แน่นอนว่าสำหรับการทดสอบเพื่อให้แน่ใจว่าเว็บไซต์ของฉันจะไม่เบราว์เซอร์ที่มีของเก่าอย่างแท้จริงแย่เกินไป นอกจากนี้ฉันยังพก OB1 ไว้ในแฟลชไดรฟ์ด้วย มันมีขนาดเล็กในตัวและมีภูมิคุ้มกันจากการติดเชื้อ
Dave Burton

26
อ่านสิ่งนี้ในปี 2559 เป็นเหมือน .. Netscape 4?
ADTC

1
การใช้ `<a name="something" id="something> </a> [ELEMENT TO SCROLL TO] นั้นน่าจะดีที่สุดเพราะมันใช้งานได้และมันไม่ได้มีสไตล์ในองค์ประกอบที่จะเลื่อนไป
JustinCB

52

ฉันต้องบอกว่าถ้าคุณกำลังจะเชื่อมโยงไปยังพื้นที่นั้นในหน้า ... เช่น page.html # foo และ Foo Title ไม่ใช่ลิงค์ที่คุณควรใช้:

<h1 id="foo">Foo Title</h1>

หากคุณใส่การ<a>อ้างอิงไว้รอบ ๆ หัวข้อของคุณจะได้รับอิทธิพลจาก<a>CSS เฉพาะภายในเว็บไซต์ของคุณ เป็นเพียงมาร์กอัปพิเศษและคุณไม่จำเป็นต้องใช้มัน ฉันขอแนะนำให้วางรหัสไว้บนพาดหัวไม่เพียง แต่จะมีรูปแบบที่ดีขึ้น แต่มันจะช่วยให้คุณสามารถระบุที่อยู่ของวัตถุนั้นใน Javascript หรือ CSS


ไม่เพียงแค่นั้น แต่ฉันได้ต่อสู้กับข้อผิดพลาดแปลก ๆ ที่จอแสดงผล: ไม่มีสิ่งใดปรากฏขึ้นใน IE ฉันไม่มีความคิดใด ๆ เกี่ยวกับจุดโจมตีฉันโยนมันไปที่ตัวตรวจสอบความถูกต้องซึ่งตั้งค่ารายการ <a name="foo"> ดังนั้นฉันจึงเปลี่ยนมัน - และตอนนี้การแสดง: ไม่มีการทำงานที่ดี
Loren Pechtel

นี่เกินพอไม่จำเป็นต้องใช้แท็กจุดยึดเพื่อผลของมัน
Wallace Sidhrée

27

Wikipedia ใช้คุณลักษณะนี้อย่างหนักเช่นนี้:

<a href="#History">[...]</a>
<span class="mw-headline" id="History">History</span>

และ Wikipedia ทำงานให้กับทุกคนดังนั้นฉันรู้สึกปลอดภัยที่จะเกาะติดกับแบบฟอร์มนี้

นอกจากนี้อย่าลืมว่าคุณสามารถใช้สิ่งนี้ไม่เพียง แต่จะมีช่วงขยาย แต่กับ divs หรือเซลล์ตารางแล้วคุณสามารถเข้าถึง: เป้าหมายหลอกระดับในองค์ประกอบ เพียงระวังไม่ให้เปลี่ยนความกว้างเช่นเดียวกับข้อความตัวหนาทำให้เกิดการย้ายเนื้อหาไปรอบ ๆ ซึ่งรบกวน

Anchors ที่มีชื่อ - การลงคะแนนของฉันคือการหลีกเลี่ยง:

  • "Names and id อยู่ใน namespace เดียวกัน ... " - สองคุณสมบัติที่มี namespace เดียวกันนั้นบ้ามาก สมมติว่าเลิกใช้แล้ว
  • "องค์ประกอบจุดยึดที่ไม่มี href atribute" - อีกครั้งธรรมชาติขององค์ประกอบ (การเชื่อมโยงหลายมิติหรือไม่) ถูกกำหนดโดยมีการแก้ไขหรือไม่! เพิ่มความบ้าคลั่งเป็นสองเท่า สามัญสำนึกพูดเพื่อหลีกเลี่ยงโดยสิ้นเชิง
  • หากคุณมีสไตล์สมอเรือที่ไม่มีคลาสเทียมแบบนี้จะมีผลกับสไตล์ของคุณ ใน CSS3 คุณสามารถหลีกเลี่ยงสิ่งนี้ได้ด้วยตัวเลือกแอททริบิวต์ (หรือการใส่สไตล์เดียวกันสำหรับแต่ละนามแฝง) แต่ก็ยังคงเป็นวิธีแก้ปัญหา สิ่งนี้มักจะไม่เกิดขึ้นเพราะคุณเลือกสีต่อคลาสเทียมและขีดเส้นใต้ที่ปรากฏตามค่าเริ่มต้นจะทำให้รู้สึกลบได้เท่านั้นซึ่งทำให้เหมือนกับข้อความอื่น ๆ แต่คุณเคยตัดสินใจที่จะทำให้ลิงค์ของคุณเป็นตัวหนามันจะทำให้เกิดปัญหา
  • Netscape 4 อาจไม่รองรับคุณสมบัติ id แต่ก็ยังมีแอตทริบิวต์ที่ไม่รู้จักซึ่งจะไม่ทำให้เกิดปัญหาใด ๆ นั่นคือสิ่งที่เรียกว่าความเข้ากันได้สำหรับฉัน

1
ขอแนะนำให้แก้ไข bullet 3 จาก 4: หากคุณเคยใช้สไตล์a {color:red}มันจะทำให้ทั้งลิงก์ <a href> และชิ้นส่วน <a name> ของคุณ คุณสามารถหลีกเลี่ยงปัญหานี้ได้ด้วยคลาสหลอกa:link {color:red]}หรือตัวเลือกคุณลักษณะa:not([href]) {color:red;}
Bob Stein

คุณพูดถูก แต่สำหรับฉัน bullet 3 พูดอย่างนี้ อาจเป็นภาษาอังกฤษของฉันได้ ...
Zoltán Morvai

ในที่สุดฉันก็มีประเด็นของคุณ: "ถ้าคุณเคยมีสไตล์สมอเรือที่ไม่มีคลาสเทียมแบบนี้จะมีผลกับสไตล์ของคุณ" ไม่ชัดเจน: คุณอาจคิดว่า "แต่ละ pseudoclass" ขวา. แต่ฉันคิดว่า "แต่ละกรณี" ของการใช้สมอซึ่งหมายถึงชื่อและ href-ed ชี้แจง :) ไม่จำเป็นต้องแก้ไขหลังจากความคิดเห็นของคุณ แต่ฉันทำได้ถ้าคุณยืนยัน แต่มันก็ยังไม่เกิดขึ้นกับสีตามที่คุณมักจะต้องการให้พวกเขาแตกต่างกัน แต่ยังคงเป็นกรณีเดียวกันกับน้ำหนักตัวอักษร ...
Zoltán Morvai

สนุกกับการอ่านความคิดเห็นของคุณ @ ZoltánMorvai "double crazy" และ "netscape 4" doubleplusgood
แรนดี้ L

1
คุณลักษณะสองประการที่มีเนมสเปซเดียวกันนั้นบ้ามาก - ไม่ได้จริงๆ เมื่อทำเนื้อหาที่ผู้ใช้สร้างขึ้นมันมีประโยชน์มากที่จะสามารถระบุบางสิ่งบางอย่างเป็นลิงค์ส่วนได้<a name="heading1"></a> ... document.html#heading1โดยไม่ต้องตั้งค่า ID เพราะ ID อาจขัดแย้งกับ ID อื่นในหน้า มันเป็นความอัปยศที่พวกเขาไม่ได้ใส่nameคุณลักษณะใน HTML5
Jez


13

หัวขึ้นสำหรับผู้ใช้งาน JavaScript: รหัสทั้งหมดกลายเป็นตัวแปรทั่วโลกภายใต้หน้าต่าง

<h1 id="foo">Foo Title</h1>

เพิ่งสร้าง JS global:

window.foo

ค่าของwindow.fooจะเป็นสำหรับHTMLElementh1

หากคุณไม่สามารถรับประกันได้ว่าค่าทั้งหมดที่ใช้ในidแอตทริบิวต์นั้นปลอดภัยคุณอาจชอบname:

<h1 name="foo">Foo Title</h1>

12
windowข่าวดีก็คือว่าคุณไม่สามารถเขียนทับฟังก์ชั่นที่กำหนดไว้ใน ยกตัวอย่างเช่นจะไม่เขียนทับฟังก์ชั่น<div id="open"></div> window.open
Flimm

8

ไม่มีความแตกต่างทางความหมาย แนวโน้มในมาตรฐานที่มีต่อการใช้มากกว่าid nameอย่างไรก็ตามมีความแตกต่างที่อาจทำให้คนชอบnameในบางกรณี ข้อมูลจำเพาะ HTML 4.01 เสนอคำแนะนำดังต่อไปนี้ :

ใช้idหรือname? ผู้เขียนควรพิจารณาปัญหาต่อไปนี้เมื่อตัดสินใจว่าจะใช้idหรือnameสำหรับชื่อจุดยึด:

  • แอตทริบิวต์ id สามารถทำหน้าที่เป็นมากกว่าชื่อสมอ (เช่นตัวเลือกสไตล์ชีทตัวระบุการประมวลผล ฯลฯ )
  • ตัวแทนผู้ใช้ที่มีอายุมากกว่าบางคนไม่สนับสนุนแองเคอร์ที่สร้างขึ้นด้วยแอตทริบิวต์ id
  • คุณลักษณะชื่อช่วยให้ชื่อจุดยึดยิ่งขึ้น (กับหน่วยงาน)

14
เพื่อความชัดเจนเมื่อพวกเขาพูดว่า "ตัวแทนผู้ใช้ที่มีอายุมากกว่า" พวกเขาหมายถึงตัวแทนผู้ใช้เก่าจริงๆ ฉันจะไม่กังวลเกี่ยวกับสิ่งนั้น
อีไล

1
HTML5 อนุญาตให้ใช้ ID“ รวย” ได้เช่นกัน ทุกคนมีหมายเลขเวอร์ชันของเบราว์เซอร์ที่มีส่วนแบ่งตลาดมากกว่า 0.1% ที่ไม่สามารถจัดการกับชิ้นส่วน id-anchored ได้หรือไม่? - ไดโนเสาร์ Netscape 4.7 เป็นไดโนเสาร์ที่แพร่กระจายมากที่สุดหรือไม่?
Robert Siemer

7
FWIW ฉันไม่สามารถให้idแองเคอร์ทำงานใน Safari สำหรับ iOS 5 ดังนั้นมันจึงไม่ใช่แค่เบราว์เซอร์ที่ "เก่าจริงๆ" แล้วใน '09 ฉันต้องเพิ่มnames เพื่อให้ไซต์ของฉันทำงานอย่างถูกต้องบน iPad สิ่งนี้อาจได้รับการแก้ไขแล้วในตอนนี้ฉันไม่ได้เป็นเจ้าของอุปกรณ์ iOS 6 เพื่อตรวจสอบ
Daniel Saner

@DanielSaner จริงเหรอ? ดังนั้นen.wikipedia.org/wiki/IPad#Applicationsไม่ทำงานบน iPad ของคุณ?
Aprillion

1
@DanielSaner ฉันใช้ตัวจำลองเพื่อทดสอบ Mobile Safari 5.02 & 5.1 และ Android Browser 2.2 และ 2.3 และidจุดยึดดูเหมือนจะทำงานได้ในระดับสากล หากตัวอย่างง่ายๆนี้ใช้ไม่ได้กับมือถือของคุณฉันจะตรวจสอบการตั้งค่าการช่วยสำหรับการเข้าถึงอุปกรณ์ (@deathApril ไซต์มือถือ Wikipedia มี Javascript ซึ่งทำให้ส่วน URL ไม่สามารถเพิกเฉยได้)
Stephen M. Harris

8

วิธีการ ID จะไม่ทำงานบนเบราว์เซอร์รุ่นเก่าวิธีการยึดชื่อจะเลิกใช้ในรุ่น HTML ที่ใหม่กว่า ... ฉันจะไปด้วย id


2
คุณมีแหล่งที่มาสำหรับการเรียกร้องเหล่านั้นหรือไม่? อย่าเข้าใจฉันผิด ฉันแค่สนใจโดยทั่วไป
Henrik Paul

11
สิ่งนี้ทำให้ไม่มีแสงสว่างใน“ จะไม่ทำงานบนเบราว์เซอร์รุ่นเก่า” - เบราว์เซอร์ใดบ้างนอกเหนือจาก Netscape 4 ??
Robert Siemer

3
ฉันพยายามใช้ id ใน div และทำงานได้แม้ใน IE 7 ไม่สามารถทดสอบใน IE 6 แม้ว่า .. แต่ใครใช้ IE 6 ในปัจจุบัน ...
Gilly

@deathApril ในบางกรณี (ขึ้นอยู่กับ HASLAYOUT) เป็นรถบั๊กกี้
Knu

@RobertSiemer ใช้งานได้ในระดับสากล - ดูความคิดเห็นของฉันภายใต้คำตอบนี้
Stephen M. Harris

3

ฉันมีหน้าเว็บที่ประกอบด้วย div div ที่เรียงซ้อนกันในแนวตั้งจำนวนเท่ากันในรูปแบบและต่างกันใน serial number เท่านั้น ฉันต้องการซ่อนสมอชื่อที่ด้านบนของแต่ละ div ดังนั้นทางออกที่ประหยัดที่สุดก็คือการรวมสมอเป็น id ภายในแท็ก div ที่เปิดเช่น

<div id="[serial number]" class="topic_wrapper">

2

เพียงการสังเกตเกี่ยวกับมาร์กอัปฟอร์มมาร์กอัปใน HTML เวอร์ชันก่อนหน้านี้เป็นจุดยึด รูปแบบมาร์กอัปใน HTML5 โดยใช้แอตทริบิวต์ id ในขณะที่ส่วนใหญ่เทียบเท่าต้องมีองค์ประกอบในการระบุซึ่งเกือบทั้งหมดคาดว่าจะมีเนื้อหา

ตัวอย่างเช่นสามารถใช้ span หรือ div ที่ว่างเปล่าได้ แต่การใช้งานนี้จะมีลักษณะและกลิ่นไม่ดี

ความคิดหนึ่งคือการใช้องค์ประกอบ wbr เพื่อจุดประสงค์นี้ wbr มีโมเดลเนื้อหาว่างเปล่าและเพียงประกาศว่าการแบ่งบรรทัดเป็นไปได้ สิ่งนี้ยังคงเป็นการใช้แท็กมาร์กอัพเล็กน้อย แต่ก็น้อยกว่าแผนกเอกสารหรือข้อความว่างเปล่า


นั่นเป็นจุดที่ดี ข้อมูลเพิ่มเติมเกี่ยวกับwbr: w3.org/TR/html-markup/wbr.htmlใช้<wbr id="foo" />แทน<a name="foo"></a>
Luke

1

ตัวอย่างที่สองกำหนด ID เฉพาะให้กับองค์ประกอบที่เป็นปัญหา องค์ประกอบนี้สามารถจัดการหรือเข้าถึงได้โดยใช้ DHTML

ในทางกลับกันการตั้งค่าที่ตั้งชื่อภายในเอกสารคล้ายกับที่คั่นหน้า ติดอยู่กับ "สมอ" มันสมเหตุสมผลดี


1

ใน html 5 id=""แอ็ตทริบิวต์จะกำหนดตัวระบุเฉพาะสำหรับองค์ประกอบซึ่งเป็นจุดยึดสำหรับลิงก์ส่วน ในมาตรฐาน html ก่อนหน้าname=""แอตทริบิวต์ของ<a>องค์ประกอบกำหนดสมอสำหรับการเชื่อมโยงส่วน ฉันแนะนำสิ่งที่ชอบ:
<a name="foo" id="foo"></a><h1>Foo Title</h1>
เพราะการสนับสนุนสำหรับid=""คุณลักษณะนั้นค่อนข้างขาด ๆ หาย ๆ (แม้ว่าเบราว์เซอร์รุ่นใหญ่ทั้งหมดจะรองรับการเผยแพร่รุ่นล่าสุด แต่การเผยแพร่ที่ไม่ได้มีอายุไม่เกินสองสามปี [และเป็นการดีที่สุดที่จะไม่ทำลายบางสิ่งบางอย่าง) หากไม่มีเหตุผลที่ดีในการ]) ใช้งานร่วมกันได้ & ไม่จัดวางองค์ประกอบใด ๆ ในองค์ประกอบลิงก์สำหรับการปิด </a> ยังคงอยู่นอกองค์ประกอบ แต่ยังคงใช้ได้ในมาตรฐานปัจจุบันทั้งหมด

ตรวจสอบให้แน่ใจว่าname=""และid=""คุณลักษณะของ<a>องค์ประกอบเหมือนกัน


2
ไม่ใช่ทุกสิ่งที่ใช้ HTML เป็นเบราว์เซอร์ ฉันใช้ห้องสมุด Java ที่แสดงข้อมูลในหน้าต่างโดยใช้ HTML นี่เป็นวิธีการเดียวที่ใช้งานได้ มันเป็นnameคุณสมบัติของสมอแท็กที่ต้องการ วางคุณลักษณะในhNหรือspanไม่ทำงาน
ดาวอังคาร

0

วิธีการเกี่ยวกับการใช้แอตทริบิวต์ชื่อสำหรับเบราว์เซอร์เก่าและแอตทริบิวต์ id กับเบราว์เซอร์ใหม่ ตัวเลือกทั้งสองจะถูกนำมาใช้และวิธีการสำรองจะดำเนินการตามค่าเริ่มต้น !!!


-3

แนวคิด "named anchor" ทั้งหมดใช้แอตทริบิวต์ name, ตามคำนิยาม คุณควรใช้ชื่อ แต่แอตทริบิวต์ ID อาจเป็นประโยชน์สำหรับสถานการณ์จาวาสคริปต์

ในความคิดเห็นคุณสามารถใช้ทั้งคู่เพื่อป้องกันการเดิมพันของคุณ


เมื่อใช้ทั้งสอง ID และ s ทั่วโลกมีความเป็นเอกลักษณ์หรือไม่? เช่นเดียวกับในฉันสามารถใช้สตริงเดียวกันกับทั้ง id และชื่อ?
Henrik Paul

คุณทำได้ แต่บางคนคิดว่าเป็นการปฏิบัติที่ไม่ดี
Alex Fort

9
ตามข้อกำหนดของ HTML หากทั้งคู่มีชื่อและรหัสควรเหมือนกัน นอกจากนี้ยังบอกว่าชื่อและรหัสอยู่ในเนมสเปซเดียวกัน บริการตัวตรวจสอบ HTML ไม่ได้ตรวจสอบสิ่งเหล่านี้และฉันสงสัยว่าเบราว์เซอร์ใส่ใจ แต่ดูเหมือนว่าแนวทางที่ดีในการติดตาม
erickson

3
ความเป็นจริงนิยามใหม่! <ชื่อ ... ป่วยจากการเริ่มต้นและการใส่สไตล์ CSS ทำให้มันยิ่งเจ็บ
Robert Siemer
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.