HtmlElement.InnerHtml Property

Definition

Gets or sets the HTML markup underneath this element.

public:
 property System::String ^ InnerHtml { System::String ^ get(); void set(System::String ^ value); };
public string InnerHtml { get; set; }
member this.InnerHtml : string with get, set
Public Property InnerHtml As String

Property Value

The HTML markup that defines the child elements of the current element.

Exceptions

Creating child elements on this element is not allowed.

Remarks

There are several ways to add new elements to an existing HTML page, such as the AppendChild and InsertAdjacentElement methods. Using InnerHtml is often the fastest way to add new content when you have to set many attributes or styles on your new elements.

InnerHtml differs from OuterHtml in that InnerHtml will not include the HTML that represents the object you are calling. See OuterHtml for more information about the difference between these two properties.

Setting InnerHtml destroys any children previously appended to the element. If you retrieve an element from the DOM and then assign new HTML to its parents' InnerHtml property, your reference to that element will be useless, and its behavior when it calls its properties and methods is undefined.

For some elements, setting InnerHtml is not a valid operation. Some HTML tags have no closing tag, such as the IMG tag, and therefore cannot contain nested elements. Some tags, such as the SCRIPT tag, can only contain text content; setting InnerHtml will result in an error. For both types of tags, the CanHaveChildren property will return false. However, you also cannot set InnerHtml on TABLE and TR elements, as assigning malformed HTML to these elements could corrupt the rendering of the document. Use AppendChild or the insertRow and insertCell methods on the unmanaged IHTMLTable interface to add rows and cells to a TABLE.

If you need only to assign text to an element and not HTML markup, use the InnerText property instead.

Assigning a value to InnerHtml will destroy any text values previously assigned using InnerText.

Applies to

See also