Mengapa `& apos;` tidak boleh digunakan untuk menghindari tanda kutip tunggal?

158

Sebagaimana dinyatakan dalam, Kapan kutipan tunggal dalam HTML menjadi begitu populer? dan Jquery menyematkan kutipan dalam atribut , entri Wikipedia pada HTML mengatakan yang berikut:

Karakter kutipan tunggal ('), ketika digunakan untuk mengutip nilai atribut, juga harus diloloskan sebagai 'atau '(TIDAK boleh diloloskan sebagai 'kecuali dalam dokumen XHTML) ketika muncul dalam nilai atribut itu sendiri.

Kenapa tidak 'digunakan? Juga, apakah "aman untuk digunakan "?

brad
sumber
7
Perhatikan bahwa IE8 tidak mendukung '.
Paul D. Waite

Jawaban:

178

"ada di daftar resmi entitas HTML 4 yang valid , tetapi 'tidak.

Dari C.16. Referensi Karakter yang Dinamai ' :

Referensi karakter yang dinamai ' (apostrof, U + 0027) diperkenalkan dalam XML 1.0 tetapi tidak muncul dalam HTML. Karenanya penulis harus menggunakan 'alih-alih 'bekerja seperti yang diharapkan dalam agen pengguna HTML 4.

cletus
sumber
3
"ada dalam daftar, jadi harus OK.
Bennett McElwee
9
Hari ini terjadi pada mesin IE8 & apos; tidak diuraikan, sehingga pengguna melihat kode. Mengganti dengan & # 39; memecahkan masalah.
Michele Gargiulo
9
& aquot; TIDAK ada pengganti untuk & apos; sebagai yang satu dan yang lainnya ganda.
RichardTheKiwi
FYI: HTML5 mendukung kedua entitas
Tarol
30

' bukan bagian dari standar HTML 4.

" Namun, tidak masalah untuk digunakan.

Segera.
sumber
8
Bagaimana ini bisa menjadi jawaban ketika & aquot; = "bukan '? Ini seperti menyarankan titik dua untuk titik koma ...
RichardTheKiwi
12
@Richardakacyberkiwi Baca pertanyaan sampai akhir.
ColBeseder
29

" berlaku di HTML5 dan HTML4.

'valid dalam HTML5 , tetapi bukan HTML4 . Namun, sebagian besar browser tetap mendukung 'HTML4.

Zaz
sumber
10
Perhatikan bahwa IE 8 tidak mendukung '.
Paul D. Waite
17

Jika Anda perlu menulis mark-up semantik yang benar, bahkan dalam HTML5, Anda tidak boleh menggunakan 'untuk keluar dari tanda kutip tunggal. Meskipun, saya bisa membayangkan Anda sebenarnya berarti apostrof daripada kutipan tunggal.

kutipan tunggal dan apostrof tidak sama, secara semantik, meskipun mereka mungkin terlihat sama.

Ini satu tanda kutip.

Gunakan 'untuk memasukkannya jika Anda membutuhkan dukungan HTML4. (diedit)

Di Inggris Inggris, kutipan tunggal digunakan seperti ini:

"Dia memberitahuku untuk 'mencobanya'," kataku.

Kutipan datang berpasangan. Kamu bisa memakai:

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

untuk memiliki kutipan bersarang dengan cara semantik yang benar, menunda penggantian karakter aktual ke mesin rendering. Substitusi ini kemudian dapat dipengaruhi oleh aturan CSS , seperti:

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

Artikel lama namun tampaknya masih relevan tentang mark-up semantik yang benar: Masalah dengan EM 'n EN (dan Karakter Shady Lainnya) .

(diedit) Ini dulu:

Gunakan 'untuk menyisipkannya jika Anda membutuhkan dukungan HTML4.

Tapi, seperti yang ditunjukkan @James_pic, itu bukan kutipan tunggal langsung, tetapi "Kutipan tunggal melengkung, benar".

R. Schreurs
sumber
Pertanyaannya jelas tentang penggunaan apostrof dan bukan kutipan. Mengapa Anda memposting ini?
Alex Skrypnyk
9
Saya dengan jelas melihat kutipan tunggal dalam judul. Pertanyaannya adalah mengapa melarikan diri dari mereka tidak boleh dilakukan dengan & apos; . Saya menjawab ini karena dukungan untuk & apos; bukan satu-satunya perhatian.
R. Schreurs
3
Kutipan tunggal digunakan seperti itu dalam bahasa Inggris Amerika juga.
Rob_vH
Ini harus menjadi jawaban yang diterima karena itu menjelaskan bahwa tanda kutip dan tanda kutip tunggal bukanlah hal yang sama dan itu sebabnya Anda tidak boleh menggunakan tanda kutip untuk melampirkan nilai atribut HTML.
delroh
Dalam Unicode, karakter tanda kutip (& # 39;) digolongkan sebagai tanda kutip, dan merupakan satu-satunya bentuk tanda kutip "lurus" dalam spesifikasi. Saran untuk menggunakan & # 8217; paling tidak lengkap, karena itu adalah karakter untuk "Kutipan tunggal melengkung, benar". Jika Anda benar-benar mencari kebenaran semantik, itu harus digunakan untuk tanda kutip yang benar, sementara & # 8216; ("Kutipan tunggal melengkung, kiri") harus digunakan untuk tanda kutip kiri.
James_pic
2

Jika Anda benar-benar membutuhkan tanda kutip tunggal, apostrof, Anda dapat menggunakannya

html    | numeric | hex
&lsquo; | &#145;  | &#x91; // for the left/beginning single-quote and
&rsquo; | &#146;  | &#x92; // for the right/ending single-quote
Jeff
sumber
-2

Dalam kasus saya itu adalah kesalahan ketika saya mencoba menggunakan kutipan dalam teks Time's up!. Ada peringatan dari Eslint.

Untuk memperbaikinya saya mengganti penawaran Time&apos;s up!. Hasilnya seperti yang diharapkan

Sabit Rakhim
sumber