javascript - 如果我们将 div 放在 p 标签内,Jquery html() 方法不起作用?

标签 javascript jquery html

这是我的 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());

输出如下:
enter image description here

尽管 accordionContentTwoCol 中的 HTML 是:

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

为什么会这样?

最佳答案

查找允许的包含关系的权威位置是 HTML 规范。参见,例如,http://www.w3.org/TR/html4/sgml/dtd.html .它指定哪些元素是 block 元素,哪些是内联元素。对于这些列表,搜索标记为“HTML 内容模型”的部分。

对于P元素,它指定了如下内容,表示P元素只允许包含行内元素。

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

这与http://www.w3.org/TR/html401/struct/text.html#h-9.3.1一致,它表示 P 元素“不能包含 block 级元素(包括 P 本身)。”

Why <p> tag can't contain <div> tag inside it?

关于javascript - 如果我们将 div 放在 p 标签内,Jquery html() 方法不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18953659/

相关文章:

javascript - 将数组中的数字相加

javascript(nodejs)while循环错误

javascript - 创建下拉菜单

Javascript显示隐藏css/html/js问题

java - 如何获取 HTML <body> 的内容

javascript - 复选框不改变 react native 元素

javascript - 单击链接时如何制作多个页面?

jquery - 在 date_popup drupal 中突出显示当前周

jquery - FancyBox v2 - 登录框

javascript - 在输入元素中监听多个事件(React Js)