Partilhar via


HtmlElement Classe

Definição

Representa um elemento HTML dentro de 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 abaixo deles. 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 o HtmlElement elemento atual que está aninhado.

Geralmente, você precisa de acesso a atributos, propriedades e métodos no elemento subjacente que não são expostos diretamente por HtmlElement, como 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, ao mesmo InvokeMember tempo que fornece acesso a todos os 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 e HtmlDocumentadicioná-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

Nome Description
All

Obtém um HtmlElementCollection de todos os elementos abaixo do 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 do cliente do elemento no documento HTML.

Document

Obtém o HtmlDocument ao qual esse elemento pertence.

DomElement

Obtém um ponteiro de interface não gerenciado para esse 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 identificar o elemento.

InnerHtml

Obtém ou define a marcação HTML abaixo 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 relativo ao 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 pai do elemento atual.

ScrollLeft

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

ScrollRectangle

Obtém as dimensões da região rolável de um elemento.

ScrollTop

Obtém ou define a distância entre a borda do elemento e a borda superior de 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 o local desse elemento na ordem de tabulação.

TagName

Obtém o nome da marca HTML.

Métodos

Nome Description
AppendChild(HtmlElement)

Adiciona um elemento à subárvore de outro elemento.

AttachEventHandler(String, EventHandler)

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

DetachEventHandler(String, EventHandler)

Remove um manipulador de eventos de um evento nomeado no HTML Document Object Model (DOM).

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 representados em HTML pela marca especificada HTML .

GetHashCode()

Serve como uma função de hash para um tipo específico.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InsertAdjacentElement(HtmlElementInsertionOrientation, HtmlElement)

Insira um novo elemento no DOM (Document Object Model).

InvokeMember(String, Object[])

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

InvokeMember(String)

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

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(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 tiver foco.

ScrollIntoView(Boolean)

Rola pelo documento que contém esse elemento até que a borda superior ou inferior desse elemento seja alinhada com a 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

Nome Description
Equality(HtmlElement, HtmlElement)

Compara dois elementos quanto à igualdade.

Inequality(HtmlElement, HtmlElement)

Compara dois objetos HtmlElement quanto à desigualdade.

Eventos

Nome Description
Click

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

DoubleClick

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

Drag

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

DragEnd

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

DragLeave

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

DragOver

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

Focusing

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

GotFocus

Ocorre quando o elemento recebe 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 pela primeira vez sobre o elemento atual.

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 pelo 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