4

これは私のHTMLです:

  <div class="accor">
  </div>
  <div class="accordionContentTwoCol">
   <p class="noEdit">
     <div>   name : </div>
  </p>
 <div>

divの html コンテンツを見つける必要がありますaccordionContentTwoCol(私は にしかアクセスできませんaccor)。
次のように accordionContentTwoCol div 内で html を印刷しようとすると:

alert("html inside accordionContentTwoCol :"+$('.accor').next().html());

次のような出力が得られます。
ここに画像の説明を入力

内部のHTMLaccordionContentTwoColは次のとおりです。

<p class="noEdit">
         <div>   name : </div>
</p>

なぜそれが起こるのですか?

4

4 に答える 4

5

許可された包含関係を探すための信頼できる場所は、HTML 仕様です。たとえば、http://www.w3.org/TR/html4/sgml/dtd.htmlを参照してください。ブロック要素とインライン要素を指定します。これらのリストについては、「HTML コンテンツ モデル」とマークされたセクションを検索してください。

P 要素については、次のように指定します。これは、P 要素がインライン要素のみを含むことができることを示します。

<!ELEMENT P - O (%inline;)*            -- paragraph -->

これはhttp://www.w3.org/TR/html401/struct/text.html#h-9.3.1と一致しており、P 要素は「ブロックレベルの要素 (P 自体を含む) を含むことはできない」と述べています。

<p> タグに <div> タグを含めることができないのはなぜですか?

于 2013-09-23T07:22:07.943 に答える
1

使用するマークアップが間違っています。タグでネストすることは<div>できません。<p>

于 2013-09-23T07:20:49.853 に答える
0

使ってみて

<div style="display: inline">

それ以外の場合は、<span>代わりに使用し<div>ます。

于 2013-09-23T07:23:01.983 に答える
0

HTML 4.01 仕様セクション 9.3.1から

P 要素は段落を表します。ブロックレベルの要素( P 自体を含む) を含めることはできません。

于 2013-09-23T07:24:54.920 に答える