2010-01-18 9 views
119

Như đã nêu trong, When did single quotes in HTML become so popular?Jquery embedded quote in attribute, Wikipedia trên HTML cho biết như sau:Tại sao không nên '' `được sử dụng để thoát khỏi dấu nháy đơn?

Nhân vật đơn quote ('), khi được sử dụng để trích dẫn một giá trị thuộc tính, cũng phải được thoát như ' hay ' (KHÔNG được thoát là ' ngoại trừ trong tài liệu XHTML) khi nó xuất hiện trong chính giá trị thuộc tính.

Tại sao không nên sử dụng '? Ngoài ra, có phải là " an toàn để sử dụng thay vì " không?

+8

[''' hợp lệ trong HTML5] (http://stackoverflow.com/a/18551371). – Zaz

+6

Lưu ý rằng IE8 không hỗ trợ '''. –

Trả lời

132

" nằm trong danh sách chính thức hợp lệ HTML 4 entities, nhưng ' thì không.

Từ C.16. The Named Character Reference ':

Các tên nhân vật tham khảo ' (apostrophe, U + 0027) là giới thiệu trong XML 1.0 nhưng không xuất hiện trong HTML. Do đó, tác giả nên sử dụng ' thay vì ' để hoạt động như mong đợi trong HTML 4 tác nhân người dùng.

+3

'"' có trong danh sách , vì vậy nên có OK. –

+7

Hôm nay xảy ra rằng trên một máy IE8 ' đã không phân tích cú pháp, vì vậy người dùng thấy mã. thay thế với ' giải quyết vấn đề. –

+7

&aquot; là NO thay thế cho ' là một là một đơn và người kia một đôi – RichardTheKiwi

21

' không thuộc tiêu chuẩn HTML 4. Tuy nhiên,

" là tốt để sử dụng.

+7

Làm thế nào điều này có thể là một câu trả lời khi &aquot; = "không '? Nó giống như đề xuất một dấu hai chấm cho dấu chấm phẩy ... – RichardTheKiwi

+10

@Richardakacyberkiwi Đọc câu hỏi tất cả các cách để kết thúc. – ColBeseder

+3

@Anon .: [' ' 'bây giờ là một phần của tiêu chuẩn HTML] (http://www.whatwg.org/specs/web-apps/current-work/multipage/named-character-references.html#entity-apos) –

1

Nếu bạn thực sự cần dấu nháy đơn, dấu nháy, bạn có thể sử dụng

html | numeric | hex 
‘ | ‘ | ‘ // for the left/beginning single-quote and 
’ | ’ | ’ // for the right/ending single-quote 
18

" là hợp lệ trong cả HTML5 và HTML4.

' hợp lệ trong HTML5, nhưng không phải là HTML4. Tuy nhiên, hầu hết các trình duyệt đều hỗ trợ ' cho HTML4.

+9

Lưu ý rằng tôi E 8 không hỗ trợ '''. –

13

Nếu bạn cần viết đánh dấu đúng ngữ nghĩa, ngay cả trong HTML5, bạn phải không sử dụng ' để thoát khỏi dấu nháy đơn. Mặc dù, tôi có thể tưởng tượng bạn thực sự có nghĩa là apostrophe chứ không phải sau đó trích dẫn duy nhất.

single quotesapostrophes không giống nhau, theo ngữ nghĩa, mặc dù chúng có thể giống nhau.

Đây là một dấu nháy đơn.

Sử dụng ’ để chèn nó nếu bạn cần hỗ trợ HTML4.

Trong tiếng Anh, dấu nháy đơn được sử dụng như thế này:

"Ông nói với tôi để 'cho nó một thử", tôi nói.

Trích dẫn theo cặp. Bạn có thể sử dụng:

<p><q>He told me to <q>give it a try</q></q>, I said.<p>

có dấu ngoặc kép lồng nhau một cách ngữ nghĩa chính xác, trì hoãn việc thay thế các nhân vật thực tế để các công cụ rendering. thay thế này sau đó có thể bị ảnh hưởng bởi CSS rules, như:

q { 
    quotes: '"' '"' '<' '>'; 
} 

Một bài viết cũ nhưng dường như vẫn có liên quan về ngữ nghĩa chính xác mark-up: The Trouble With EM ’n EN (and Other Shady Characters).

+0

Câu hỏi rõ ràng về việc sử dụng dấu nháy đơn chứ không phải dấu ngoặc kép. Tại sao bạn sẽ đăng bài này? –

+4

Tôi thấy rõ ràng _single quote_ trong tiêu đề. Câu hỏi đặt ra là lý do tại sao chúng không được thực hiện với _ ' _. Tôi đã trả lời điều này vì sự hỗ trợ cho ' không phải là mối quan tâm duy nhất. –

+0

Dấu nháy đơn được sử dụng theo cách đó bằng tiếng Anh Mỹ. –