You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何ng-repeat在p>div结构失效,div>div结构却正常?

AngularJS中ng-repeat在

标签内失效的原因

这根本不是AngularJS的问题,而是HTML语法规则导致的。

  • HTML规范里,<p>标签属于流内容元素,它的子元素不能包含<div>这类块级元素。浏览器会自动修正不符合规范的DOM结构:当你在<p>里嵌套<div>时,浏览器会直接把<div>从<p>中剥离出来,相当于把你的代码解析成了:

    <p ng-repeat="item in items"></p>
    <div>{{item.type}}</div>
    

    这样ng-repeat绑定的<p>标签里已经没有要渲染的内容,自然无法显示数据。

  • 而<div>是标准块级元素,支持嵌套其他块级元素,浏览器不会修改这个DOM结构,ng-repeat能正常遍历items并渲染内部的<div>内容。

本质是浏览器对无效HTML的自动修正,破坏了AngularJS指令的绑定结构,换成符合HTML规范的标签嵌套即可解决问题。

内容的提问来源于stack exchange,提问作者maxathousand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 06:55:27