Heim  >  Artikel  >  Web-Frontend  >  html: P-Elemente nicht zufällig verschachteln

html: P-Elemente nicht zufällig verschachteln

黄舟
黄舟Original
2017-07-03 11:56:161910Durchsuche

Heute hat mich ein Kollege zum Filterproblem von jQuery befragt. Er hat die Dokumentation von jQuery1.7 überprüft, die von der UNREGISERED-Version von Easy CHM erstellt wurde. Er stellte fest, dass die darin enthaltenen Anweisungen zu gefiltert waren und dies nicht möglich waren erfolgreich ausgeführt. Später stellte ich fest, dass einige Inhalte des Unterdokuments einige Fehler aufwiesen, die die Lernenden irreführen würden. Gleichzeitig entdeckte ich ein Problem mit dem HTML-p-Element, das mir zuvor noch nie aufgefallen war.

Lassen Sie mich zunächst einen Blick auf jQuery1 werfen. 7 Anweisungen der UNREGISERED-Version von Easy CHM

behalten Elemente bei, die kein ol in den untergeordneten Elementen enthalten.

HTML-Code:

<p>
<ol>
<li>Hello</li>
</ol>
</p>
<p>How are you?</p>

jQuery-Code:

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

Ergebnis:

[ <p>How are you?</p> ]

Tatsächlich kann dies nicht erfolgreich ausgeführt werden. Fehler Nur bei $("ol", this).length == 0; Ich dachte zunächst, dass es in Ordnung wäre, es in (this).has("ol").length==0 zu ändern, aber später verursachte es ein neues Problem . Es ist das p-Element. Das Problem des Umschließens anderer Elemente.

Wir können uns diesen Code ansehen (lassen Sie den gesamten HTML-Code nur diese Codeinhalte enthalten):

<p><div>I&#39;m nest in p element.</div></p>

Dann verwenden Sie jQuery Holen Sie sich das p in diesem HTML-Element.

alert($("p").length);

Da es nur ein p gibt, sollten wir alle mit einem Rückgabeergebnis von 1 rechnen. Aber Sie können experimentieren.Chrome. Firefox.Opera.Safari.IE.Return them all 2.

Warum?

Viele Leute, die vorsichtiger sind als ich und nicht so schlampig wie ich, sollten den Grund kennen. Dann werde ich schreiben Es stellt sich heraus, dass das P-Element keine Blockebenenelemente enthalten kann . Es darf keine Elemente auf Blockebene enthalten (einschließlich P selbst).

Das obige ist der detaillierte Inhalt vonhtml: P-Elemente nicht zufällig verschachteln. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn