Respostas:
A resposta curta é que olelementos não são legalmente permitidos dentro de pelementos.
Para ver o porquê, vamos às especificações ! Se você se sentir confortável com a especificação HTML, ela responderá a muitas de suas perguntas e curiosidades. Você quer saber se um olpode viver dentro de um p. Assim…
Categorias: Conteúdo de fluxo , Conteúdo palpável .
Modelo de conteúdo: conteúdo de frases .
Categorias: conteúdo do fluxo .
Modelo de conteúdo : zero ou mais elementos de suporte de script e li .
A primeira parte diz que os pelementos podem conter apenas conteúdo de frases (que são elementos "inline", como spane strong).
A segunda parte diz que ols são conteúdo de fluxo (elementos de "bloco" como pe div). Então eles não podem ser usados dentro de p.
olse outros flow contentpodem ser usados em alguns outros elementos, como div:
Categorias: Conteúdo de fluxo , Conteúdo palpável .
Modelo de conteúdo: conteúdo de fluxo .
4.4.1 The p element, o autor sequer falar fantastic sentencesou algo parecido
.innerHTML), ele é gerado novamente a partir da árvore de elementos. Portanto, o Chrome não está ajustando o HTML, mas criando uma árvore válida a partir do HTML original e gerando um novo HTML a partir dessa árvore.
O segundo. O primeiro é inválido.
Um navegador irá lidar com isso da seguinte maneira:
<p>tetxtextextete
<!-- Start of paragraph -->
<ol>
<!-- Start of ordered list. Paragraphs cannot contain lists. Insert </p> -->
<li>first element</li></ol>
<!-- A list item element. End of list -->
</p>
<!-- End of paragraph, but not inside paragraph, discard this tag to recover from the error -->
<p>other textetxet</p>
<!-- Another paragraph -->
Vá aqui http://validator.w3.org/ envie seu arquivo html e ele informará o que é válido e o que não é.
na verdade, você só deve colocar elementos in-line dentro do p, para que no seu caso olseja melhor fora