0

インデントはFirefoxのソースによって作成されました。FirefoxとHTMLの両方のバリデーターは、</p>が置き忘れられていると言っています。しかし、その理由はわかりません。

<p>
  <ul class="errorlist">
    <li>This field is required.</li>
  </ul>
  <label for="id_creator">Creator:</label>
  <select onchange="Dajaxice.doors.orders_create_creator_changed(fill_other_fields, {&#39;creator_pk&#39;: this.options[this.selectedIndex].value})" name="creator" id="id_creator">
    <option value="" selected="selected">Select a user</option>
    <option value="9">Amy the Tenant</option>
    <option value="6">Alex the Tenant</option>
    <option value="3">Bob the Property Manager</option>
  </select>
</p>

ちなみに、Djangoがエラーメッセージを表示しない場合、終了</p>タグは有効です。コードは次のとおりです。

<p>
  <label for="id_creator">Creator:</label>
  <select onchange="Dajaxice.doors.orders_create_creator_changed(fill_other_fields, {&#39;creator_pk&#39;: this.options[this.selectedIndex].value})" name="creator" id="id_creator">
    <option value="" selected="selected">Select a user</option>
    <option value="9">Amy the Tenant</option>
    <option value="6">Alex the Tenant</option>
    <option value="3">Bob the Property Manager</option>
  </select>
</p>
4

2 に答える 2

3

<p>ブロックレベルの要素を含めることはできません(MDN docuを参照)。

<ul>一方、ブロックレベルの要素(MDN)です。

コードが「正しく」表示される理由は、ほとんどのhtml5パーサー</p>が、内のブロックレベル要素に遭遇したときにクロージングを挿入するため<p>です。これが挿入されると、実際</p>には付随する開口部がなく<p>、その結果、その時点では無効になります。

于 2012-04-21T09:28:19.730 に答える
1

はブロックレベルであるため、<ul />内部に保持することはできません<p />

于 2012-04-21T09:17:58.483 に答える