html: P-Elemente nicht zufällig verschachteln

黄舟
Freigeben: 2017-07-03 11:56:16
Original
1952 Leute haben es durchsucht

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>
Nach dem Login kopieren

jQuery-Code:

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

Ergebnis:

[ <p>How are you?</p> ]
Nach dem Login kopieren

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>
Nach dem Login kopieren

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

alert($("p").length);
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage