【问题标题】:Get InnerHTML of Changing Div获取更改 div 的 InnerHTML
【发布时间】:2014-08-11 15:09:09
【问题描述】:

我有一个一直包含不同内容的<div>

<div ng-html="day.content" class="day_content"></div>

例如,&lt;div&gt; 可以更新为

<div ng-html="day.content" class="day_content">1</div>

<div ng-html="day.content" class="day_content">2</div>

<div ng-html="day.content" class="day_content">3</div>

当我尝试获取此&lt;div&gt;innerHTML 时,它总是给我&lt;div ng-html="day.content" class="day_content"&gt;&lt;/div&gt;

不管我使用 jQuery 的 .html() 还是 JavaScript 的 document.getElementById().innerHTML

为什么我无法获取使用数据更新的&lt;div&gt; 的innerHTML?

【问题讨论】:

  • 什么时候得到 html。你在 html 中也有重复的 id 吗??
  • 听起来你正在选择你真正想要的元素的父元素。
  • 我正在使用setTimeout(function() { }, 1000);
  • 你能发布你的 JS 或者创建一个小提琴来复制你的问题吗?
  • @ChrisSpittle 我不确定如何复制“注入”数据。当数据被硬编码时,一切正常。

标签: javascript jquery html angularjs innerhtml


【解决方案1】:

如果我理解正确,您是在尝试获取 div 中的值,并尝试将其存储在 Javascript 中?如果是这样,请尝试在 Javascript 中声明一个变量来存储该值,例如

var day = document.getElementById("day_content").value;

这个变量现在将存储这个 div 的值。 如果我错了,请纠正我 - 祝你好运^_-

【讨论】:

  • OP 我真的希望你没有对此投反对票。看到这个小提琴:jsfiddle.net/Lq7c4ej6,它表明这是正确的答案。但是,看起来您正在使用 AngularJS,并且肯定有一种更强大的方式,原生 Angular 方式(也许利用数据绑定?)来获得您需要的价值。编辑:固定 JSfiddle 链接
  • 我没有投反对票,但由于我使用的是类,所以这不正确。
  • 问题不是最初的innerHTML,而是“注入”的值。
  • 哦,是的,对不起,我看错了。那么上面的jsfiddle就有正确答案了。
  • @MimiLauren 不,它没有。问题不在于最初的 innerHTML,而在于“注入”的值。
【解决方案2】:

如果你可以使用 jquery 那么 $('.day_content').html();

【讨论】:

  • 我清楚地写了“无论我使用 jQuery 的 .html() 还是 JavaScript 的 document.getElementById().innerHTML。”