问题标签 [innerhtml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
651 浏览

javascript - innerHTML 的副作用?

我在 DOM 元素引用方面遇到了一些问题,我认为我已经将其追踪到与更新 innerHTML 有关。

在此示例中,在第一个警报中,两个变量如预期的那样引用相同的元素。奇怪的是,在更新了父元素(body)的 innerHTML 之后,这两个变量应该是不同的,尽管两者都没有接触。

使用 == 而不是 === 会产生相同的结果。我在 Firefox 3.5 和 IE6 中得到了相同的结果。知道是什么导致第二个警报评估为假吗?

0 投票
6 回答
1373 浏览

javascript - 用于检索页面内容的 innerHTML 替代方法?

我目前正在使用 innerHTML 来检索 HTML 元素的内容,并且我发现在某些浏览器中它并不能准确返回源中的内容。

例如,在 Firefox 中的以下行中使用 innerHTML:

将返回:

在 IE 中,它返回原始字符串,带有两个关闭的强标签。我假设在大多数情况下,Firefox 清理不正确的代码不是问题(并且可能是一个好处)。但是,对于我要完成的工作,我需要原始 HTML 源代码中出现的确切代码。

这是可能吗?我可以使用另一个 Javascript 函数吗?

0 投票
5 回答
1490 浏览

javascript - innerHTML 的动态等价物?

我想获取可能已被用户更改的元素的 innerHTML。

因此,例如,我想知道单选按钮的状态:

或者

在现代浏览器中,innerHTML 仅在页面加载时给出原始标签(如在此处详细讨论):它不记录单选按钮是否已被用户选中。

有什么安全的方法来获取更新的 HTML?我知道有一些方法可以在 Javascript 中获取单选按钮本身的状态,但我想要的是完整的、更新的 HTML。

谢谢!

0 投票
9 回答
102579 浏览

php - 如何获取DOMNode的innerHTML?

在 PHP DOM 实现中,您使用什么函数来获取给定 DOMNode 的 innerHTML?有人可以提供可靠的解决方案吗?

当然,outerHTML 也可以。

0 投票
7 回答
912 浏览

javascript - innerHTML 导致 IE6 (永久)锁定

在我正在开发的网站上,我加载了一系列图像,这些图像可以使用我用 JavaScript 实现的一些控件进行动画处理。在所有浏览器中一切正常,但 IE6 锁定并且永远不会恢复;至少在我让它坐在那里的 15 分钟内不会。

它窒息的部分是我尝试修改特定 div 内容的部分。

问题前:

问题后:

我试过了:

  • 将所有带有animation_image的元素存储为字符串并将其设置为innerHTML
  • 在animation_image中创建空/占位符div并单独填充它们
  • 使用 appendChild 而不是 innerHTML
  • 在“animation_image”下添加另一个 div,并使用上面的 3 种方法将所有图像/div 放入其中

它似乎在 IE6 中不起作用 - 所有方法在 FF3.0+、IE7+、Chrome 2+ 等中都可以正常工作。如果我在 innerHTML 之前退出 javascript 它工作得很好但如果我什至尝试填充单个div(在animation_image内)通过第二个要点中的方法,它锁定并且永远不会恢复。

我确定我遗漏了一些东西,但我完全吓坏了 ATM。提前致谢。

更新:这是带有示例 XML 的 javascript 链接(http://pastebin.com/m5b426a67

0 投票
2 回答
104 浏览

javascript - 是否有一些代码可用于定位元素及其父对象和文本索引的偏移量?

我的意思是,以下面的 HTML 代码为例,忽略空格。

我有 pNode 对象和 pNode.innerHTML 中的“span text”中的“a”索引作为一个整体,这里是 23,因为 pNode.innerHTML="paragraph-text<span>span text<i>it</i ></span>”,开放跨度标签也应该被计算在内。

是否有一些现有的库可以像 transform(pElement, 23) 一样使用,这样我就可以获得“spanElement and 2”的预期元素和偏移量?

提前致谢。问候,

史蒂夫

0 投票
2 回答
19620 浏览

extjs - 使用 Ext 的 update() 而不是 dom.innerHTML 的问题

我有一个关于使用 Extjs 的 update() 方法与直接更新 Ext 元素的 dom 的 innerHTML 的性能、可靠性和最佳实践方法的问题。

考虑以下两个陈述:

我不需要eval()任何脚本,而且我确信这update()会考虑到任何浏览器的怪癖。


另外,有谁知道是否使用:

是相同的

?
浏览器和平台的兼容性很重要,如果两者基本相同,那么Ext.element.dom.innerHTML完全update()放弃可能是我最好的解决方案。

在此先感谢您的帮助,

布赖恩

0 投票
1 回答
934 浏览

javascript - 使用 innerHTML 将单元格数据写入 HTML 表格

我无法将下面的最终函数 displayLetter(a, b, c, d, e,f, g) 放在一起,并使用 variableTest() 中的数组元素和变量写入 innerHTML 中的表。我知道我需要使用 .length 并确定我需要多少个单元格。W3C 只能让我到目前为止。谢谢您的帮助!

我的 JS:

0 投票
2 回答
2839 浏览

javascript - 使用 javascript 的 iframe 问题

有谁知道如何从 IFRAME 中获取 HTML?我尝试了几种不同的方法:

document.getElementById('iframe01').contentDocument.body.innerHTML, document.frames['iframe01'].document.body.innerHTML,document.getElementById('iframe01').contentWindow.document.body.innerHTML

但他们都没有工作。

我相信他们不工作的原因是我的 iframe 的内容没有正文标签(我正在加载 XML)。还有其他方法可以获取 iframe 的所有内容吗?我也对 jQuery 持开放态度。

这个:

document.getElementById('iframe01').contentWindow.document.body.innerHTML

在 IE 中工作正常,但是这个:

document.getElementById('iframe01').contentDocument.body.innerHTML

不适用于FF。

0 投票
2 回答
271 浏览

javascript - 有没有办法将字符串从 JSON 转换为 DOM 结构?

问题是:

我得到以下结构(在 PHP 中生成)通过 JSON 作为字符串发送。

我在网站上有一个文章列表,我需要用收到的文章替换现有文章。使用 jQuery,我会做这样的事情:

basket.shift()是上述字符串形式的接收文章,$victim是现有文章。


现在,通常我会做

它适用于良好的浏览器(gecko、webkit),但 jQuery 在.innerHTML与 HTML5 元素一起使用时有一个已知错误,记录在这里.replaceWith最后在内部使用该方法。


一个解决方案是使用原生 Javascript 和方法,除了.innerHTML. 像这样的东西应该工作:

它确实如此,但仅限于优秀的浏览器。var.get(0)上的方法有些问题。$fresh

我已经模拟了在 js 代码中本地创建的节点的插入,它在 IE 中工作:


那么,还有其他方法可以将字符串转换为 DOM 子树吗?或任何其他方式来解决 replaceWith 问题?

注意:我不是 javascript 大师/忍者 :)


好的,经过更多阅读后,我想我已经找到了为什么.insertBefore不起作用。

正如 jQuery API 所述(http://api.jquery.com/jQuery/#creating-new-elements),当我将作为字符串传递时,由于其复杂性<article>,DOM 元素也是通过创建的。.innerHTML

有没有办法强制$()使用本机 createElement 代替?我知道它在性能方面很糟糕,但至少它会让 IE 工作。