4

这是我的 HTML:

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

我需要找到accordionContentTwoColdiv 的 html 内容(我只能访问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 回答