Udostępnij za pośrednictwem


HtmlElement Klasa

Definicja

Reprezentuje element HTML wewnątrz strony sieci Web.

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

Przykłady

Poniższy przykład kodu pokazuje, jak zbadać dowolny dokument HTML i uzyskać ciąg opisujący elementy HTML z wcięciem i numerami poziomów używanymi do wskazania, jak głęboko zagnieżdżone elementy znajdują się w dokumencie. Ten przykład kodu wymaga, aby aplikacja hostuje kontrolkę WebBrowser o nazwie 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

Uwagi

HtmlElement reprezentuje dowolny możliwy typ elementu w dokumencie HTML, takim jak BODY, TABLEi FORM, między innymi. Klasa uwidacznia najbardziej typowe właściwości, których można oczekiwać na wszystkich elementach.

Większość elementów może mieć elementy podrzędne: inne elementy HTML umieszczone pod nimi. CanHaveChildren Użyj właściwości , aby sprawdzić, czy dany element ma elementy podrzędne, oraz Children kolekcję, aby iterować po nich. Właściwość Parent zwraca wartość HtmlElement , w której jest zagnieżdżony bieżący element.

Często potrzebujesz dostępu do atrybutów, właściwości i metod w podstawowym elemecie, które nie są bezpośrednio udostępniane przez HtmlElementprogram , na przykład SRC atrybut w elemecie IMG lub Submit metodzie w elemecie FORM. Metody GetAttribute i SetAttribute umożliwiają pobieranie i modyfikowanie dowolnego atrybutu lub właściwości dla określonego elementu, a jednocześnie InvokeMember zapewnia dostęp do żadnych metod, które nie są widoczne w zarządzanym modelu obiektów dokumentów (DOM). Jeśli aplikacja ma uprawnienia do kodu niezarządzanego, możesz również uzyskać dostęp do nieeksprybowanych właściwości i metod za pomocą atrybutu DomElement .

TagName Użyj właściwości , aby sprawdzić, czy element ma określony typ.

Każdy dokument HTML można modyfikować w czasie wykonywania. Możesz utworzyć nowe HtmlElement obiekty za pomocą CreateElement metody HtmlDocument, a następnie dodać je do innego elementu przy użyciu AppendChild metod lub InsertAdjacentElement . Możesz również utworzyć elementy jako tagi HTML i przypisać je do właściwości istniejącego elementu InnerHtml .

Właściwości

All

Pobiera element HtmlElementCollection ze wszystkich elementów pod bieżącym elementem.

CanHaveChildren

Pobiera wartość wskazującą, czy ten element może mieć elementy podrzędne.

Children

Pobiera wszystkie HtmlElementCollection elementy podrzędne bieżącego elementu.

ClientRectangle

Pobiera granice obszaru klienta elementu w dokumencie HTML.

Document

Pobiera element HtmlDocument , do którego należy ten element.

DomElement

Pobiera niezarządzany wskaźnik interfejsu dla tego elementu.

Enabled

Pobiera lub ustawia, czy użytkownik może wprowadzić dane do tego elementu.

FirstChild

Pobiera następny element poniżej tego elementu w drzewie dokumentów.

Id

Pobiera lub ustawia etykietę, za pomocą której należy zidentyfikować element.

InnerHtml

Pobiera lub ustawia znacznik HTML pod tym elementem.

InnerText

Pobiera lub ustawia tekst przypisany do elementu.

Name

Pobiera lub ustawia nazwę elementu.

NextSibling

Pobiera następny element na tym samym poziomie co ten element w drzewie dokumentów.

OffsetParent

Pobiera element, z którego OffsetRectangle jest obliczany.

OffsetRectangle

Pobiera lokalizację elementu względem jego elementu nadrzędnego.

OuterHtml

Pobiera lub ustawia kod HTML bieżącego elementu.

OuterText

Pobiera lub ustawia tekst bieżącego elementu.

Parent

Pobiera element nadrzędny bieżącego elementu.

ScrollLeft

Pobiera lub ustawia odległość między krawędzią elementu a lewą krawędzią jego zawartości.

ScrollRectangle

Pobiera wymiary przewijanego regionu elementu.

ScrollTop

Pobiera lub ustawia odległość między krawędzią elementu a górną krawędzią jego zawartości.

Style

Pobiera lub ustawia rozdzieloną średnikami listę stylów dla bieżącego elementu.

TabIndex

Pobiera lub ustawia lokalizację tego elementu w kolejności tabulacji.

TagName

Pobiera nazwę tagu HTML.

Metody

AppendChild(HtmlElement)

Dodaje element do poddrzewa innego elementu.

AttachEventHandler(String, EventHandler)

Dodaje procedurę obsługi zdarzeń dla nazwanego zdarzenia w modelu DOM (Document Object Model) HTML.

DetachEventHandler(String, EventHandler)

Usuwa program obsługi zdarzeń z nazwanego zdarzenia w modelu DOM (DOCUMENT Object Model).

Equals(Object)

Sprawdza, czy podany obiekt jest równy bieżącemu elementowi.

Focus()

Umieszcza fokus danych wejściowych użytkownika na bieżącym elemencie.

GetAttribute(String)

Pobiera wartość nazwanego atrybutu w elemecie .

GetElementsByTagName(String)

Pobiera kolekcję elementów reprezentowanych w języku HTML przez określony tag HTML .

GetHashCode()

Pełni rolę funkcji skrótu dla określonego typu.

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
InsertAdjacentElement(HtmlElementInsertionOrientation, HtmlElement)

Wstaw nowy element do modelu obiektów dokumentu (DOM).

InvokeMember(String)

Wykonuje nieeksponowaną metodę na bazowym elemecie DOM tego elementu.

InvokeMember(String, Object[])

Wykonuje funkcję zdefiniowaną na bieżącej stronie HTML za pomocą języka skryptowego.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
RaiseEvent(String)

Powoduje wywołanie wszystkich zarejestrowanych programów obsługi zdarzeń przez nazwane zdarzenie.

RemoveFocus()

Usuwa fokus z bieżącego elementu, jeśli ten element ma fokus.

ScrollIntoView(Boolean)

Przewija dokument zawierający ten element do momentu wyrównania górnej lub dolnej krawędzi tego elementu z oknem dokumentu.

SetAttribute(String, String)

Ustawia wartość nazwanego atrybutu w elemecie .

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Operatory

Equality(HtmlElement, HtmlElement)

Porównuje dwa elementy pod kątem równości.

Inequality(HtmlElement, HtmlElement)

Porównuje dwa HtmlElement obiekty pod kątem nierówności.

Zdarzenia

Click

Występuje, gdy użytkownik klika element za pomocą lewego przycisku myszy.

DoubleClick

Występuje, gdy użytkownik klika lewy przycisk myszy nad elementem dwa razy, w szybkiej kolejności.

Drag

Występuje, gdy użytkownik przeciąga tekst do różnych lokalizacji.

DragEnd

Występuje, gdy użytkownik zakończy operację przeciągania.

DragLeave

Występuje, gdy użytkownik nie przeciąga już elementu na ten element.

DragOver

Występuje, gdy użytkownik przeciąga tekst na element.

Focusing

Występuje, gdy element najpierw odbiera fokus danych wejściowych użytkownika.

GotFocus

Występuje, gdy element otrzymał fokus danych wejściowych użytkownika.

KeyDown

Występuje, gdy użytkownik naciska klawisz na klawiaturze.

KeyPress

Występuje, gdy użytkownik naciska i zwalnia klawisz na klawiaturze.

KeyUp

Występuje, gdy użytkownik zwalnia klawisz na klawiaturze.

LosingFocus

Występuje, gdy element traci fokus danych wejściowych użytkownika.

LostFocus

Występuje, gdy element utracił fokus danych wejściowych użytkownika.

MouseDown

Występuje, gdy użytkownik naciska przycisk myszy.

MouseEnter

Występuje, gdy użytkownik po raz pierwszy przesuwa kursor myszy nad bieżącym elementem.

MouseLeave

Występuje, gdy użytkownik przesuwa kursor myszy z bieżącego elementu.

MouseMove

Występuje, gdy użytkownik przesuwa kursor myszy przez element.

MouseOver

Występuje, gdy kursor myszy wchodzi w granice elementu.

MouseUp

Występuje, gdy użytkownik zwalnia przycisk myszy.

Dotyczy

Zobacz też