Могу ли я вставить тег <PRE>в тег <P>? - PullRequest
0 голосов
/ 03 марта 2020

Почему есть два элемента <p>, когда я использую только один тег <p>?

, если тег <center> вместо <pre>, результат тот же.

если тег <b> вместо <pre>, результат a.length равен 1.

<code><!DOCTYPE html>
<html>
<head>

</head>
<body>
  <p><pre>name: id:
a = document.getElementsByTagName ("p"); document.write ( "LEN:" + a.length + "
"); для (I = 0; я

1 Ответ

1 голос
/ 03 марта 2020

<pre> не может быть внутри <p>. Таким образом, когда парсер HTML встречает <pre> внутри <p>, он сначала закрывается <p>. Затем он встречает </p>, закрывающий тег без открывающего тега, и предполагает, что вы хотели <p>. Результирующая структура:

<code><p></p>
<pre>...

Откуда вы знаете, <pre> не может быть внутри <p>? См. <p> в MDN или, что еще лучше, в HTML spe c и примечание «Разрешенный контент: содержание фраз». Глядя на то, что такое «фразировка контента», вы можете видеть, что он не включает <pre>.

...