Compartir vía


HtmlElement Clase

Definición

Representa un elemento HTML dentro de una página web.

public ref class HtmlElement sealed
public sealed class HtmlElement
type HtmlElement = class
Public NotInheritable Class HtmlElement
Herencia
HtmlElement

Ejemplos

En el ejemplo de código siguiente se muestra cómo examinar un documento HTML arbitrario y derivar una cadena que describe los elementos HTML, con sangría y números de nivel usados para indicar la profundidad anidada de los elementos en el documento. Este ejemplo de código requiere que la aplicación hospede un WebBrowser control denominado WebBrowser1.

private void PrintDomBegin()
{
    if (webBrowser1.Document != null)
    {
        HtmlElementCollection elemColl = null;
        HtmlDocument doc = webBrowser1.Document;
        if (doc != null)
        {
            elemColl = doc.GetElementsByTagName("HTML");
            String str = PrintDom(elemColl, new System.Text.StringBuilder(), 0);
            webBrowser1.DocumentText = str;
        }
    }
}

private string PrintDom(HtmlElementCollection elemColl, System.Text.StringBuilder returnStr, Int32 depth)
{
    System.Text.StringBuilder str = new System.Text.StringBuilder();

    foreach (HtmlElement elem in elemColl)
    {
        string elemName;

        elemName = elem.GetAttribute("ID");
        if (elemName == null || elemName.Length == 0)
        {
            elemName = elem.GetAttribute("name");
            if (elemName == null || elemName.Length == 0)
            {
                elemName = "<no name>";
            }
        }

        str.Append(' ', depth * 4);
        str.Append(elemName + ": " + elem.TagName + "(Level " + depth + ")");
        returnStr.AppendLine(str.ToString());

        if (elem.CanHaveChildren)
        {
            PrintDom(elem.Children, returnStr, depth + 1);
        }

        str.Remove(0, str.Length);
    }

    return (returnStr.ToString());
}
Private Sub PrintDomBegin()
    If (WebBrowser1.Document IsNot Nothing) Then
        Dim ElemColl As HtmlElementCollection

        Dim Doc As HtmlDocument = WebBrowser1.Document
        If (Not (Doc Is Nothing)) Then
            ElemColl = Doc.GetElementsByTagName("HTML")
            Dim Str As String = PrintDom(ElemColl, New System.Text.StringBuilder(), 0)

            WebBrowser1.DocumentText = Str
        End If
    End If
End Sub

Private Function PrintDom(ByVal ElemColl As HtmlElementCollection, ByRef ReturnStr As System.Text.StringBuilder, ByVal Depth As Integer) As String
    Dim Str As New System.Text.StringBuilder()

    For Each Elem As HtmlElement In ElemColl
        Dim ElemName As String

        ElemName = Elem.GetAttribute("ID")
        If (ElemName Is Nothing Or ElemName.Length = 0) Then
            ElemName = Elem.GetAttribute("name")
            If (ElemName Is Nothing Or ElemName.Length = 0) Then
                ElemName = "<no name>"
            End If
        End If

        Str.Append(CChar(" "), Depth * 4)
        Str.Append(ElemName & ": " & Elem.TagName & "(Level " & Depth & ")")
        ReturnStr.AppendLine(Str.ToString())

        If (Elem.CanHaveChildren) Then
            PrintDom(Elem.Children, ReturnStr, Depth + 1)
        End If

        Str.Remove(0, Str.Length)
    Next

    PrintDom = ReturnStr.ToString()
End Function

Comentarios

HtmlElement representa cualquier tipo posible de elemento en un documento HTML, como BODY, TABLEy FORM, entre otros. La clase expone las propiedades más comunes que puede esperar encontrar en todos los elementos.

La mayoría de los elementos pueden tener elementos secundarios: otros elementos HTML que se colocan debajo de ellos. Utilice la CanHaveChildren propiedad para comprobar si un elemento determinado tiene elementos secundarios y la Children colección para recorrerlas en iteración. La Parent propiedad devuelve el HtmlElement en el que está anidado el elemento actual.

A menudo, necesita acceso a atributos, propiedades y métodos en el elemento subyacente que no está expuesto directamente por HtmlElement, como el SRC atributo de un IMG elemento o el Submit método en un FORM. Los GetAttribute métodos y SetAttribute permiten recuperar y modificar cualquier atributo o propiedad en un elemento específico, mientras InvokeMember que proporciona acceso a los métodos no expuestos en el modelo de objetos de documento administrado (DOM). Si la aplicación tiene permiso de código no administrado, también puede acceder a los métodos y propiedades no expuestas con el DomElement atributo .

Utilice la TagName propiedad para comprobar si un elemento es de un tipo específico.

Cualquier documento HTML se puede modificar en tiempo de ejecución. Puede crear nuevos HtmlElement objetos con el CreateElement método de HtmlDocumenty agregarlos a otro elemento mediante los AppendChild métodos o InsertAdjacentElement . También puede crear los elementos como etiquetas HTML y asignarlos a la propiedad de InnerHtml un elemento existente.

Propiedades

All

Obtiene una colección HtmlElementCollection de todos los elementos que se encuentran por debajo del elemento actual.

CanHaveChildren

Obtiene un valor que indica si este elemento puede tener elementos secundarios.

Children

Obtiene una colección HtmlElementCollection de todos los elementos secundarios del elemento actual.

ClientRectangle

Obtiene los límites del área de cliente del elemento en el documento HTML.

Document

Obtiene el HtmlDocument al que pertenece este elemento.

DomElement

Obtiene un puntero de interfaz no administrada para este elemento.

Enabled

Obtiene o establece si el usuario puede escribir datos en este elemento.

FirstChild

Obtiene el siguiente elemento situado debajo de este elemento en el árbol del documento.

Id

Obtiene o establece una etiqueta mediante la que identificar el elemento.

InnerHtml

Obtiene o establece el código HTML situado por debajo de este elemento.

InnerText

Obtiene o establece el texto asignado al elemento.

Name

Obtiene o establece el nombre del elemento.

NextSibling

Obtiene el siguiente elemento del mismo nivel que este elemento en el árbol del documento.

OffsetParent

Obtiene el elemento a partir del cual se calcula OffsetRectangle.

OffsetRectangle

Obtiene la ubicación de un elemento con respecto a su elemento primario.

OuterHtml

Obtiene o establece el código HTML del elemento actual.

OuterText

Obtiene o establece el texto del elemento actual.

Parent

Obtiene el elemento primario del elemento actual.

ScrollLeft

Obtiene o establece la distancia entre el borde del elemento y el borde izquierdo de su contenido.

ScrollRectangle

Obtiene las dimensiones de la región desplazable de un elemento.

ScrollTop

Obtiene o establece la distancia entre el borde del elemento y el borde superior de su contenido.

Style

Obtiene o establece una lista de estilos separados por punto y coma para el elemento actual.

TabIndex

Obtiene o establece la ubicación de este elemento en el orden de tabulación.

TagName

Obtiene el nombre de la etiqueta HTML.

Métodos

AppendChild(HtmlElement)

Agrega un elemento al subárbol de otro elemento.

AttachEventHandler(String, EventHandler)

Agrega un controlador de eventos para un evento con nombre al Modelo de objetos de documento (DOM) HTML.

DetachEventHandler(String, EventHandler)

Quita un controlador de eventos de un evento con nombre del Modelo de objetos de documento (DOM) HTML.

Equals(Object)

Prueba si el objeto proporcionado es igual al elemento actual.

Focus()

Coloca el foco de entrada del usuario en el elemento actual.

GetAttribute(String)

Obtiene el valor del atributo con nombre del elemento.

GetElementsByTagName(String)

Recupera una colección de elementos que se representan en HTML mediante la etiqueta HTML especificada.

GetHashCode()

Sirve como función de hash para un tipo concreto.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
InsertAdjacentElement(HtmlElementInsertionOrientation, HtmlElement)

Inserta un nuevo elemento en el Modelo de objetos de documento (DOM).

InvokeMember(String)

Ejecuta un método no expuesto en el elemento DOM subyacente de este elemento.

InvokeMember(String, Object[])

Ejecuta una función definida en la página HTML actual por un lenguaje de scripting.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
RaiseEvent(String)

Hace que el evento con nombre llame a todos los controladores de eventos registrados.

RemoveFocus()

Quita el foco del elemento actual, en caso de que lo tenga.

ScrollIntoView(Boolean)

Se desplaza por el documento donde está incluido este elemento hasta que el borde superior o inferior del elemento se alinee con la ventana del documento.

SetAttribute(String, String)

Establece el valor del atributo con nombre del elemento.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Operadores

Equality(HtmlElement, HtmlElement)

Compara dos elementos para determinar si son iguales.

Inequality(HtmlElement, HtmlElement)

Compara dos objetos HtmlElement para determinar si no son iguales.

Eventos

Click

Se produce cuando el usuario hace clic en el elemento con el botón primario del mouse.

DoubleClick

Se produce cuando el usuario hace clic dos veces seguidas con el botón primario del mouse en un elemento, en una sucesión rápida.

Drag

Se produce cuando el usuario arrastra el texto a varias ubicaciones.

DragEnd

Se produce cuando un usuario finaliza una operación de arrastrar.

DragLeave

Se produce cuando el usuario deja de arrastrar un elemento sobre este elemento.

DragOver

Se produce cuando el usuario arrastra el texto sobre el elemento.

Focusing

Se produce cuando el elemento recibe por primera vez el foco de entrada del usuario.

GotFocus

Se produce cuando el elemento ha recibido el foco de entrada del usuario.

KeyDown

Se produce cuando el usuario presiona una tecla del teclado.

KeyPress

Se produce cuando el usuario presiona y suelta una tecla del teclado.

KeyUp

Se produce cuando el usuario suelta una tecla del teclado.

LosingFocus

Se produce cuando el elemento está perdiendo el foco de entrada del usuario.

LostFocus

Se produce cuando el elemento ha perdido el foco de entrada del usuario.

MouseDown

Se produce cuando el usuario presiona un botón del mouse.

MouseEnter

Se produce cuando el usuario mueve por primera vez el cursor del mouse sobre el elemento actual.

MouseLeave

Se produce cuando el usuario mueve el cursor del mouse fuera del elemento actual.

MouseMove

Se produce cuando el usuario mueve el cursor del mouse sobre el elemento.

MouseOver

Se produce cuando el cursor del mouse entra en los límites del elemento.

MouseUp

Se produce cuando el usuario suelta un botón del mouse.

Se aplica a

Consulte también