ホームページ  >  記事  >  ウェブフロントエンド  >  html: P 要素をランダムにネストしないでください

html: P 要素をランダムにネストしないでください

黄舟
黄舟オリジナル
2017-07-03 11:56:161945ブラウズ

今日、同僚から

jQuery のフィルタリングについて相談を受けました。彼は、Easy CHM の UNREGISERED バージョンで作成された jQuery1.7 のドキュメントを調べたところ、その命令がフィルタリングされすぎて正常に実行できないことがわかりました。ドキュメント 一部のコンテンツには学習者を誤解させるいくつかのバグがあります。同時に、このフィルターの調査を通じて、これまで注目していなかった HTML の p 要素の問題を発見しました。 Easy CHMのUNREGISERED版で作成されたjQuery1.7を見てください。 説明

子要素のうちolを含まない要素を保持します。

HTML コード:

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

jQuery コード:

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

結果:

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

実際、これは正常に実行できません。エラーは $("ol", this).length == 0; です。 (this).has("ol").length==0 に変更しても問題ありませんが、新しい問題が発生します。それは、p 要素が他の要素をラップしているという問題です。そのようなコードを見てみましょう。 HTML 全体ではこれのみです。これらのコードの内容):

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

次に、jQuery を使用して、この HTML の p 要素を取得します。

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

p は 1 つだけなので、返される結果は 1 であると期待する必要があります。

Chr

ome.Firefox.Opera.Safari.IE.すべて2に戻ります

なぜですか?

私より慎重で、私ほどずぼらではない多くの人がその理由を知っているはずです。この種の問題は私にとって非常に重要です。P 要素にはブロックレベルの要素 (P 自体を含む) を含めることはできません。ブロックレベルの要素 (P 自体を含む) を含めることはできません。

以上がhtml: P 要素をランダムにネストしないでくださいの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。