HtmlElement.InnerHtml Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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.