Maison > Article > interface Web > html : ne pas imbriquer les éléments P au hasard
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>
Code jQuery :
$("p").filter(function(index) { return $("ol", this).length == 0;//这里明显有错误的.这样也不可能成功的. });
Résultat :
[ <p>How are you?</p> ]
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'm nest in p element.</div></p>
Ensuite, utilisez jQuery pour. obtenez le p dans cet élément HTML.
alert($("p").length);
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!