这篇文章需要文法复核。如何帮忙。

这篇翻译不完整。请帮忙从英语翻译这篇文章

摘要

innerHTML 属性可以用来获取、修改指定元素内的所有标签和内容。

语法

var markup = element.innerHTML;
element.innerHTML = markup;
  • 在上例中markup是包含元素(以及子元素)内容的字符串。元素的内容以原始HTML代码显示出来。 例如 "<p>Some text</p>".

示例

// HTML:
// <div id="d"><p>Content</p>
// <p>Further Elaborated</p>
// </div>

d = document.getElementById("d");
dump(d.innerHTML);

// the string "<p>Content</p><p>Further Elaborated</p>" 
// is dumped to the console window

注意

尽管innerHtml属性不属于W3C DOM规范,但是它为完全替换元素内容提供了一个更加便捷的方式。举个例子,可以通过如下代码完全删除文档内body的内容:

document.body.innerHTML = "";  // Replaces body content with an empty string.

包括BODY和HTML在内的许多类型元素的innerHTML属性可以被获取或者替换。当一个页面内容被动态修改之后,可以使用它来观察源代码。

// Copy and paste into address bar as a single line
javascript:x=document.body.innerHTML.replace(/</g,'&lt;').replace(/\n/g,'<br>'); document.body.innerHTML = x;

因为这个属性没有统一的标准,各浏览器厂商对它实现差别很大。比如,当在文本框中输入文本时,
IE会改变文本框的innerHTML的值,但是Gecko内核的浏览器则不会。

不应该使用它来写入一个表格的内容,应该使用W3C DOM标准方法来作这件事-尽管它可以用来写入整个表格或写入一个单元格的内容。

规范

DOM Level 0 不属于任何标准.

参考

MSDN innerHTML

其它

  • innerDOM - For those wishing to adhere to standards, here is one set of JavaScript functions offering to serialize or parse XML so as to set element contents defined as string(s) via the DOM or getting element contents obtained from the DOM as a string.

文档标签和贡献者

 此页面的贡献者: yoann1103, RyanPan, teoli, khalid32, ziyunfei, zezhou, 巴别塔工人
 最后编辑者: yoann1103,