Partilhar via


HtmlElement Classe

Definição

Representa um elemento HTML em uma página da Web.

public ref class HtmlElement sealed
public sealed class HtmlElement
type HtmlElement = class
Public NotInheritable Class HtmlElement
Herança
HtmlElement

Exemplos

O exemplo de código a seguir mostra como examinar um documento HTML arbitrário e derivar uma cadeia de caracteres que descreve os elementos HTML, com recuo e números de nível usados para indicar o quão profundamente aninhados os elementos estão no documento. Este exemplo de código requer que seu aplicativo hospede um WebBrowser controle chamado 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

Comentários

HtmlElement representa qualquer tipo possível de elemento em um documento HTML, como BODY, TABLEe FORM, entre outros. A classe expõe as propriedades mais comuns que você pode esperar encontrar em todos os elementos.

A maioria dos elementos pode ter elementos filho: outros elementos HTML que são colocados sob eles. Use a CanHaveChildren propriedade para testar se um determinado elemento tem filhos e a Children coleção para iterar por meio deles. A Parent propriedade retorna a HtmlElement na qual o elemento atual está aninhado.

Geralmente, você precisa de acesso a atributos, propriedades e métodos no elemento subjacente que não são expostos diretamente, HtmlElementcomo o SRC atributo em um IMG elemento ou o Submit método em um FORM. Os GetAttribute métodos e SetAttribute os métodos permitem que você recupere e altere qualquer atributo ou propriedade em um elemento específico, enquanto InvokeMember fornece acesso a quaisquer métodos não expostos no DOM (Modelo de Objeto de Documento) gerenciado. Se o aplicativo tiver permissão de código não gerenciada, você também poderá acessar propriedades e métodos não expostos com o DomElement atributo.

Use a TagName propriedade para testar se um elemento é de um tipo específico.

Qualquer documento HTML pode ser modificado em tempo de execução. Você pode criar novos HtmlElement objetos com o CreateElement método de HtmlDocument, e adicioná-los a outro elemento usando os métodos ou InsertAdjacentElement os AppendChild métodos. Você também pode criar os elementos como marcas HTML e atribuí-los à propriedade de InnerHtml um elemento existente.

Propriedades

All

Obtém um HtmlElementCollection de todos os elementos sob o elemento atual.

CanHaveChildren

Obtém um valor que indica se esse elemento pode ter elementos filho.

Children

Obtém um HtmlElementCollection de todos os filhos do elemento atual.

ClientRectangle

Obtém os limites da área de cliente do elemento no documento HTML.

Document

Obtém o HtmlDocument ao qual esse elemento pertence.

DomElement

Obtém o ponteiro da interface não gerenciada deste elemento.

Enabled

Obtém ou define se o usuário pode inserir dados nesse elemento.

FirstChild

Obtém o próximo elemento abaixo desse elemento na árvore de documentos.

Id

Obtém ou define um rótulo pelo qual o elemento é identificado.

InnerHtml

Obtém ou define a marcação HTML embaixo desse elemento.

InnerText

Obtém ou define o texto atribuído ao elemento.

Name

Obtém ou define o nome do elemento.

NextSibling

Obtém o próximo elemento no mesmo nível que esse elemento na árvore de documentos.

OffsetParent

Obtém o elemento do qual OffsetRectangle é calculado.

OffsetRectangle

Obtém o local de um elemento em relação a seu pai.

OuterHtml

Obtém ou define o código HTML do elemento atual.

OuterText

Obtém ou define o texto do elemento atual.

Parent

Obtém o elemento do pai do elemento atual.

ScrollLeft

Obtém ou define a distância entre a borda do elemento e a borda esquerda do conteúdo dele.

ScrollRectangle

Obtém as dimensões da região do elemento que permite rolagem.

ScrollTop

Obtém ou define a distância entre a borda do elemento e a borda superior do seu conteúdo.

Style

Obtém ou define uma lista delimitada por ponto e vírgula de estilos para o elemento atual.

TabIndex

Obtém ou define a localização deste elemento na ordem de tabulação.

TagName

Obtém o nome da marca HTML.

Métodos

AppendChild(HtmlElement)

Adiciona um elemento a outra subárvore do elemento.

AttachEventHandler(String, EventHandler)

Adiciona um manipulador de eventos para um evento nomeado no DOM (Modelo de Objeto do Documento) HTML.

DetachEventHandler(String, EventHandler)

Remove um manipulador de eventos de um evento nomeado no DOM (Modelo de Objeto do Documento) HTML.

Equals(Object)

Testa se o objeto fornecido é igual ao elemento atual.

Focus()

Coloca o foco de entrada do usuário no elemento atual.

GetAttribute(String)

Recupera o valor do atributo nomeado no elemento.

GetElementsByTagName(String)

Recupera uma coleção de elementos representada em HTML pela marca HTML especificada.

GetHashCode()

Serve como uma função hash para um tipo particular.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InsertAdjacentElement(HtmlElementInsertionOrientation, HtmlElement)

Insira um novo elemento no DOM (Modelo de Objeto do Documento).

InvokeMember(String)

Executa um método não exposto no elemento DOM subjacente desse elemento.

InvokeMember(String, Object[])

Executa uma função definida na página HTML atual por uma linguagem de script.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
RaiseEvent(String)

Faz com que o evento nomeado chame todos os manipuladores de eventos registrados.

RemoveFocus()

Remove o foco do elemento atual, se esse elemento tem foco.

ScrollIntoView(Boolean)

Rola pelo documento que contém esse elemento até que a borda superior ou inferior desse elemento esteja alinhada à janela do documento.

SetAttribute(String, String)

Define o valor do atributo nomeado no elemento.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Operadores

Equality(HtmlElement, HtmlElement)

Compara dois elementos quanto à igualdade.

Inequality(HtmlElement, HtmlElement)

Compara dois objetos HtmlElement quanto à desigualdade.

Eventos

Click

Ocorre quando o usuário clica no elemento com o botão esquerdo do mouse.

DoubleClick

Ocorre quando o usuário clica sobre um elemento duas vezes em sucessão rápida com o botão esquerdo do mouse.

Drag

Ocorre quando o usuário arrasta o texto para vários locais.

DragEnd

Ocorre quando um usuário termina uma operação de arrastar.

DragLeave

Ocorre quando o usuário não está mais arrastando um item sobre este elemento.

DragOver

Ocorre quando o usuário arrasta o texto sobre o elemento.

Focusing

Ocorre quando o elemento recebe o foco de entrada do usuário pela primeira vez.

GotFocus

Ocorre quando o elemento recebeu o foco de entrada do usuário.

KeyDown

Ocorre quando o usuário pressiona uma tecla no teclado.

KeyPress

Ocorre quando o usuário pressiona e libera uma tecla no teclado.

KeyUp

Ocorre quando o usuário libera uma tecla no teclado.

LosingFocus

Ocorre quando o elemento está perdendo o foco de entrada do usuário.

LostFocus

Ocorre quando o elemento perdeu o foco de entrada do usuário.

MouseDown

Ocorre quando o usuário pressiona um botão do mouse.

MouseEnter

Ocorre quando o usuário move o cursor do mouse sobre o elemento atual pela primeira vez.

MouseLeave

Ocorre quando o usuário move o cursor do mouse para fora do elemento atual.

MouseMove

Ocorre quando o usuário move o cursor do mouse cruzando o elemento.

MouseOver

Ocorre quando o cursor do mouse entra nos limites do elemento.

MouseUp

Ocorre quando o usuário libera um botão do mouse.

Aplica-se a

Confira também