这是我的HTML:
<div class="accor">
</div>
<div class="accordionContentTwoCol">
<p class="noEdit">
<div> name : </div>
</p>
<div>
我需要找到accordionContentTwoCol
div的html内容(我只能访问accor
)。
如果我尝试在accordionContentTwoCol div中打印html,如下所示:
alert("html inside accordionContentTwoCol :"+$('.accor').next().html());
它输出如下:
虽然accordionContentTwoCol
内的HTML是:
<p class="noEdit">
<div> name : </div>
</p>
为什么会这样?
答案 0 :(得分: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本身)。”
答案 1 :(得分:1)
您使用的标记是错误的。 <div>
无法与<p>
代码嵌套。
答案 2 :(得分:0)
尝试使用
<div style="display: inline">
否则,请使用<span>
代替<div>
。
答案 3 :(得分:0)
来自HTML 4.01 specification section 9.3.1
P元素代表一个段落。它不能包含block-level elements(包括 P本身)。