Compartir por


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 probar si un elemento determinado tiene elementos secundarios y la Children colección para recorrer 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 expone directamente HtmlElement, como el SRC atributo de un IMG elemento o el Submit método en .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 propiedades y métodos no expuestos con el DomElement atributo .

Utilice la TagName propiedad para probar 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

Nombre Description
All

Obtiene un HtmlElementCollection de todos los elementos debajo del elemento actual.

CanHaveChildren

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

Children

Obtiene un HtmlElementCollection de todos los elementos secundarios del elemento actual.

ClientRectangle

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

Document

Obtiene al HtmlDocument que pertenece este elemento.

DomElement

Obtiene un puntero de interfaz no administrado para este elemento.

Enabled

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

FirstChild

Obtiene el siguiente elemento debajo de este elemento en el árbol de documentos.

Id

Obtiene o establece una etiqueta por la que se va a identificar el elemento.

InnerHtml

Obtiene o establece el marcado HTML 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 en el mismo nivel que este elemento en el árbol de documentos.

OffsetParent

Obtiene el elemento del que OffsetRectangle se calcula.

OffsetRectangle

Obtiene la ubicación de un elemento relativo 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 delimitada 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

Nombre Description
AppendChild(HtmlElement)

Agrega un elemento al subárbol de otro elemento.

AttachEventHandler(String, EventHandler)

Agrega un controlador de eventos para un evento con nombre en el modelo de objetos de documento HTML (DOM).

DetachEventHandler(String, EventHandler)

Quita un controlador de eventos de un evento con nombre en el modelo de objetos de documento HTML (DOM).

Equals(Object)

Comprueba si el objeto proporcionado es igual al elemento actual.

Focus()

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

GetAttribute(String)

Recupera el valor del atributo con nombre en el elemento .

GetElementsByTagName(String)

Recupera una colección de elementos representados en HTML por la etiqueta especificada HTML .

GetHashCode()

Actúa como una función hash para un tipo determinado.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
InsertAdjacentElement(HtmlElementInsertionOrientation, HtmlElement)

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

InvokeMember(String, Object[])

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

InvokeMember(String)

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

MemberwiseClone()

Crea una copia superficial del Objectactual.

(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, si ese elemento tiene el foco.

ScrollIntoView(Boolean)

Se desplaza por el documento que contiene este elemento hasta que el borde superior o inferior de este elemento está alineado con la ventana del documento.

SetAttribute(String, String)

Establece el valor del atributo con nombre en el elemento .

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Operadores

Nombre Description
Equality(HtmlElement, HtmlElement)

Compara dos elementos para obtener igualdad.

Inequality(HtmlElement, HtmlElement)

Compara dos objetos HtmlElement para determinar si no son iguales.

Eventos

Nombre Description
Click

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

DoubleClick

Se produce cuando el usuario hace clic en el botón izquierdo del mouse sobre un elemento dos veces, en sucesión rápida.

Drag

Se produce cuando el usuario arrastra texto a varias ubicaciones.

DragEnd

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

DragLeave

Se produce cuando el usuario ya no arrastra un elemento sobre este elemento.

DragOver

Se produce cuando el usuario arrastra 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 en el teclado.

KeyPress

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

KeyUp

Se produce cuando el usuario suelta una tecla en el teclado.

LosingFocus

Se produce cuando el elemento pierde 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 a través del 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