Maison > interface Web > tutoriel HTML > html : ne pas imbriquer les éléments P au hasard

html : ne pas imbriquer les éléments P au hasard

黄舟
Libérer: 2017-07-03 11:56:16
original
1963 Les gens l'ont consulté

Aujourd'hui, un collègue m'a consulté à propos du problème de filtrage de jQuery. Il a vérifié la documentation de jQuery1.7 réalisée par la version NON ENREGISTRÉE d'Easy CHM. Il a trouvé que les instructions qu'elle contenait étaient trop filtrées et ne pouvaient pas. .Plus tard, j'ai découvert que certains contenus du sous-document contenaient des bugs qui pourraient induire les apprenants en erreur. En même temps, grâce à cette recherche de filtre, j'ai découvert un problème avec l'élément HTML p que je ne l'avais jamais remarqué auparavant.

Permettez-moi d'abord de jeter un œil à jQuery1. 7 instructions dans la version NON ENREGISTRÉE d'Easy CHM

conservent les éléments qui ne contiennent pas d'ol dans les éléments enfants.

Code HTML :

<p>
<ol>
<li>Hello</li>
</ol>
</p>
<p>How are you?</p>
Copier après la connexion

Code jQuery :

$("p").filter(function(index) { return $("ol", this).length == 0;//这里明显有错误的.这样也不可能成功的. });
Copier après la connexion

Résultat :

[ <p>How are you?</p> ]
Copier après la connexion

En fait, cela ne peut pas être exécuté avec succès. Erreur Juste à $("ol").length== 0; J'ai d'abord pensé que le changer en (this).has("ol").length==0 serait OK, mais plus tard, cela a provoqué un nouveau problème. .C'est l'élément p Le problème de l'emballage d'autres éléments

Nous pouvons regarder ce code (laisser le HTML entier contenir uniquement ce contenu de code) :

<p><div>I&#39;m nest in p element.</div></p>
Copier après la connexion

Ensuite, utilisez jQuery pour. obtenez le p dans cet élément HTML.

alert($("p").length);
Copier après la connexion

Puisqu'il n'y a qu'un seul p, nous devrions tous nous attendre à obtenir un résultat de retour de 1. Mais vous pouvez expérimenter.Chrome. Firefox.Opera.Safari.IE.Return all 2.

Pourquoi ?

Beaucoup de gens qui sont plus prudents que moi et pas aussi négligents que moi devraient connaître la raison. Ensuite, je l'écrirai. pour me prévenir. Ce genre de problème est très important pour moi. Les personnes imprudentes sont très faciles à commettre des erreurs. Il s'avère que l'élément P ne peut pas contenir d'éléments de niveau bloc (y compris l'élément P lui-même). Il ne peut pas contenir d'éléments de niveau bloc (y compris P lui-même

).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal