HtmlElement Klass

Definition

Representerar ett HTML-element inuti en webbsida.

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

Exempel

Följande kodexempel visar hur du undersöker ett godtyckligt HTML-dokument och härleder en sträng som beskriver HTML-elementen, med indrag och nivånummer som används för att ange hur djupt kapslade elementen är i dokumentet. Det här kodexemplet kräver att programmet är värd för en WebBrowser kontroll med namnet 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

Kommentarer

HtmlElement representerar alla möjliga typer av element i ett HTML-dokument, till exempel BODY, TABLEoch FORM, bland annat. Klassen exponerar de vanligaste egenskaperna som du kan förvänta dig att hitta på alla element.

De flesta element kan ha underordnade element: andra HTML-element som placeras under dem. Använd egenskapen CanHaveChildren för att testa om ett visst element har underordnade element och Children samlingen för att iterera genom dem. Egenskapen Parent returnerar HtmlElement i vilken det aktuella elementet är kapslat.

Du behöver ofta åtkomst till attribut, egenskaper och metoder för det underliggande elementet som inte exponeras direkt av HtmlElement, till exempel SRC attributet för ett IMG element eller Submit metoden på en FORM. Med GetAttribute metoderna och SetAttribute kan du hämta och ändra attribut eller egenskaper för ett visst element, samtidigt InvokeMember som du får åtkomst till metoder som inte exponeras i den hanterade dokumentobjektmodellen (DOM). Om ditt program har ohanterad kodbehörighet kan du också komma åt oexponerade egenskaper och metoder med DomElement attributet.

Använd egenskapen TagName för att testa om ett element är av en viss typ.

Alla HTML-dokument kan ändras vid körning. Du kan skapa nya HtmlElement objekt med CreateElement metoden , och lägga till dem i ett annat element med hjälp av HtmlDocumentAppendChild metoderna eller InsertAdjacentElement . Du kan också skapa elementen som HTML-taggar och tilldela dem till ett befintligt elements InnerHtml egenskap.

Egenskaper

Name Description
All

Hämtar ett HtmlElementCollection av alla element under det aktuella elementet.

CanHaveChildren

Hämtar ett värde som anger om det här elementet kan ha underordnade element.

Children

Hämtar en HtmlElementCollection av alla underordnade element i det aktuella elementet.

ClientRectangle

Hämtar gränserna för klientområdet för elementet i HTML-dokumentet.

Document

Hämtar det HtmlDocument element som det här elementet tillhör.

DomElement

Hämtar en ohanterad gränssnittspekare för det här elementet.

Enabled

Hämtar eller anger om användaren kan mata in data i det här elementet.

FirstChild

Hämtar nästa element under det här elementet i dokumentträdet.

Id

Hämtar eller anger en etikett som elementet ska identifieras med.

InnerHtml

Hämtar eller anger HTML-markering under det här elementet.

InnerText

Hämtar eller anger den text som tilldelats elementet.

Name

Hämtar eller anger namnet på elementet.

NextSibling

Hämtar nästa element på samma nivå som det här elementet i dokumentträdet.

OffsetParent

Hämtar elementet som OffsetRectangle beräknas.

OffsetRectangle

Hämtar platsen för ett element i förhållande till dess överordnade element.

OuterHtml

Hämtar eller anger det aktuella elementets HTML-kod.

OuterText

Hämtar eller anger det aktuella elementets text.

Parent

Hämtar det aktuella elementets överordnade element.

ScrollLeft

Hämtar eller anger avståndet mellan elementets kant och innehållets vänstra kant.

ScrollRectangle

Hämtar dimensionerna för ett elements rullningsbara region.

ScrollTop

Hämtar eller anger avståndet mellan elementets kant och den övre kanten av innehållet.

Style

Hämtar eller anger en semikolonavgränsad lista med formatmallar för det aktuella elementet.

TabIndex

Hämtar eller anger platsen för det här elementet i tabbordningen.

TagName

Hämtar namnet på HTML-taggen.

Metoder

Name Description
AppendChild(HtmlElement)

Lägger till ett element i ett annat elements underträd.

AttachEventHandler(String, EventHandler)

Lägger till en händelsehanterare för en namngiven händelse i HTML-dokumentobjektmodellen (DOM).

DetachEventHandler(String, EventHandler)

Tar bort en händelsehanterare från en namngiven händelse i HTML-dokumentobjektmodellen (DOM).

Equals(Object)

Testar om det angivna objektet är lika med det aktuella elementet.

Focus()

Placerar användarens indata i fokus på det aktuella elementet.

GetAttribute(String)

Hämtar värdet för det namngivna attributet för elementet.

GetElementsByTagName(String)

Hämtar en samling element som representeras i HTML av den angivna HTML taggen.

GetHashCode()

Fungerar som en hash-funktion för en viss typ.

GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
InsertAdjacentElement(HtmlElementInsertionOrientation, HtmlElement)

Infoga ett nytt element i dokumentobjektmodellen (DOM).

InvokeMember(String, Object[])

Kör en funktion som definierats på den aktuella HTML-sidan med ett skriptspråk.

InvokeMember(String)

Kör en oexponerad metod på det underliggande DOM-elementet i det här elementet.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
RaiseEvent(String)

Gör att den namngivna händelsen anropar alla registrerade händelsehanterare.

RemoveFocus()

Tar bort fokus från det aktuella elementet, om det elementet har fokus.

ScrollIntoView(Boolean)

Bläddrar igenom dokumentet som innehåller det här elementet tills elementets övre eller nedre kant justeras mot dokumentets fönster.

SetAttribute(String, String)

Anger värdet för det namngivna attributet för elementet.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Operatorer

Name Description
Equality(HtmlElement, HtmlElement)

Jämför två element för likhet.

Inequality(HtmlElement, HtmlElement)

Jämför två HtmlElement objekt för ojämlikhet.

Händelser

Name Description
Click

Inträffar när användaren klickar på elementet med den vänstra musknappen.

DoubleClick

Inträffar när användaren klickar på den vänstra musknappen över ett element två gånger, i snabb följd.

Drag

Inträffar när användaren drar text till olika platser.

DragEnd

Inträffar när en användare slutför en dragåtgärd.

DragLeave

Inträffar när användaren inte längre drar ett objekt över det här elementet.

DragOver

Inträffar när användaren drar text över elementet.

Focusing

Inträffar när elementet först tar emot användarens indatafokus.

GotFocus

Inträffar när elementet har fått användarens indatafokus.

KeyDown

Inträffar när användaren trycker på en tangent på tangentbordet.

KeyPress

Inträffar när användaren trycker på och släpper en tangent på tangentbordet.

KeyUp

Inträffar när användaren släpper en nyckel på tangentbordet.

LosingFocus

Inträffar när elementet förlorar fokus på användarindata.

LostFocus

Inträffar när elementet har förlorat fokus på användarindata.

MouseDown

Inträffar när användaren trycker på en musknapp.

MouseEnter

Inträffar när användaren först flyttar musmarkören över det aktuella elementet.

MouseLeave

Inträffar när användaren flyttar musmarkören från det aktuella elementet.

MouseMove

Inträffar när användaren flyttar musmarkören över elementet.

MouseOver

Inträffar när musmarkören anger elementets gränser.

MouseUp

Inträffar när användaren släpper en musknapp.

Gäller för

Se även