sesuai judul; mungkinkah memiliki komentar bertingkat dalam HTML yang valid? lihat contoh di bawah ini ...
<p>some text</p>
<!-- comment 1
<p>commented out html</p>
<!-- comment 2
// are nested html comment allowed?
end of comment 2 -->
<p>more commented out html</p>
end of comment 1 -->
<p>some more text</p>
Tampaknya tidak, apakah ada yang tahu bagaimana saya bisa mendapatkan komentar bertingkat untuk bekerja?
html
validation
comments
QAZ
sumber
sumber
Jawaban:
Saat Anda menambahkan komentar, ganti "-" dengan "- -". Saat Anda melepas sarang, balikkan prosedurnya. Bukan
<!--
yang dilarang tapi--
.Contoh:
sumber
--
dengan- -
untuk komentar bagian dalam (bersarang) .TL; DR : Sayangnya, tidak, itu tidak mungkin (dan tidak akan pernah).
Jawaban singkat:
Komentar HTML tidak seperti yang dipikirkan banyak orang. HTML adalah salah satu bentuk SGML, di mana komentar dipisahkan dengan sepasang tanda hubung ganda ( --… -- ).
Jadi, sepasang tanda hubung ganda di dalam sepasang tanda kurung siku dengan tanda seru setelah tanda kurung siku ( <! --⋯ -- >) adalah komentar. Spesifikasi mengatakan lebih baik daripada yang saya bisa: http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.4
Inilah sebabnya mengapa komentar seperti ini (yang mungkin kita semua pernah lakukan satu kali atau yang lain) adalah ide yang buruk :
Kebenaran: Saya terlalu malas untuk memberi tahu Anda berapa banyak komentar yang diwakili oleh polusi tag di atas, tetapi setidaknya 10.
Tentu saja, itu tidak cukup sederhana yang, karena perbedaan dalam bagaimana masing-masing lagi memilih browser untuk menafsirkan spec.
Inilah artikel bagus yang menjelaskannya:
http://weblog.200ok.com.au/2008/01/dashing-into-trouble-why-html-comments.html
Jawaban panjang: Mengapa kami salah
Sebagian besar dari kita yang tumbuh dengan HTML (tanpa mempelajari SGML yang mendasari itu)) menjadi percaya bahwa string <!--memulai sebuah komentar, dan string--> mengakhiri komentar.
Sebenarnya, <!dan >batasi deklarasi SGML dalam dokumen HTML Anda, seperti deklarasi DOCTYPE yang telah kita lihat di bagian atas halaman kita. Di dalam deklarasi SGML, komentar dipisahkan dengan tanda hubung ganda. Jadi, komentar HTML
yang sebagian besar dari kita akan percaya parsing seperti ini <!-- this is a comment -->sebenarnya diurai seperti ini:
<!-- this is a comment -->. Ini adalah deklarasi SGML yang kosong kecuali untuk komentar.
Karena HTML adalah bentuk SGML, "komentar-dalam-deklarasi" ini berfungsi sebagai komentar HTML.
Karena minat, berikut ini adalah potongan SGML murni yang menunjukkan komentar yang berfungsi sebagaimana mestinya di SGML: definisi daftar atribut ini berisi komentar di setiap baris:
sumber
Itu tidak bisa dilakukan.
-->
akan selalu mengakhiri komentar HTML yang ada.sumber
Jika Anda benar-benar terjebak dengan beberapa bagian HTML - yang telah dirender sebelumnya di beberapa sumber yang tidak terkendali - yang berisi komentar, dan Anda perlu memastikan tidak ada yang dirender di halaman Anda, Anda selalu dapat membungkusnya dengan
script
tag seperti di bawah ini, masalahnya adalah, Anda tidak dapat mengomentariscript
tag dengan cara ini.Jika Anda perlu mengomentari
script
tag, Anda dapat menggunakantextarea
sebagai pembungkus, tentu saja melakukannya dengan cara ini, Anda tidak dapat mengomentaritextarea
tag.sumber
/* */
Gunakan
template
tag. Cara tercepat untuk memblokir semua komentar dan html lain agar tidak muncul.sumber
<template>
elemen tidak bisa ditambahkan di mana saja. Elemen induknya harus berupa<body>
elemen atau beberapa elemen lainnya .Beberapa editor memiliki perintah memberi komentar / tidak berkomentar yang secara otomatis dapat menangani komentar yang ada dalam blok teks. Misalnya Visual Studio melakukan itu ketika Anda menekan Ctrl + KC dan Ctrl + KU.
sumber
Add-in VS yang memalsukan komentar bertingkat dengan secara otomatis mengonversi
<!--...-->
untuk<!~~...~~>
kemudian mengomentari seluruh bagian itu. Ini memungkinkan Anda mengaktifkan dan menonaktifkannya.komentar bersarang
sumber
Saya pikir itu tidak diperbolehkan, tetapi sejauh yang saya tahu ini berfungsi di sebagian besar browser utama kecuali di Firefox.
sumber
coba gunakan ini
ini adalah awal dari komentar
-->
akhir komentar.sumber
Coba ini
sumber
<comment>
kata kunci dalam HTML