HtmlElement Třída

Definice

Představuje element HTML uvnitř webové stránky.

public ref class HtmlElement sealed
public sealed class HtmlElement
type HtmlElement = class
Public NotInheritable Class HtmlElement
Dědičnost
HtmlElement

Příklady

Následující příklad kódu ukazuje, jak prozkoumat libovolný dokument HTML a odvodit řetězec popisující prvky HTML s odsazením a čísly úrovní, které slouží k označení, jak hluboko vnořené prvky jsou v dokumentu. Tento příklad kódu vyžaduje, aby vaše aplikace hostoval WebBrowser ovládací prvek s názvem 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

Poznámky

HtmlElement představuje jakýkoli možný typ elementu v dokumentu HTML, například BODY, TABLEa FORM, mimo jiné. Třída zveřejňuje nejběžnější vlastnosti, které můžete očekávat, že najdete na všech prvcích.

Většina elementů může mít podřízené elementy: další prvky HTML, které jsou umístěny pod nimi. CanHaveChildren Pomocí vlastnosti otestujte, zda daný prvek má podřízené položky, a Children kolekci k iteraci. Vlastnost Parent vrátí HtmlElement hodnotu, ve které je aktuální prvek vnořený.

Často potřebujete přístup k atributům, vlastnostem a metodám na podkladovém prvku, které nejsou přímo vystaveny HtmlElement, jako SRC je atribut IMG prvku nebo Submit metoda na FORM. Tyto GetAttribute metody SetAttribute umožňují načíst a změnit jakýkoli atribut nebo vlastnost konkrétního prvku, zatímco InvokeMember poskytuje přístup k jakýmkoli metodám, které nejsou vystaveny ve spravovaném modelu objektu dokumentu (DOM). Pokud vaše aplikace má nespravované oprávnění ke kódu, můžete také přistupovat k neexponovaným vlastnostem a metodám s atributem DomElement .

TagName Pomocí vlastnosti otestujte, zda je prvek konkrétního typu.

Jakýkoli dokument HTML lze upravit za běhu. Pomocí metody HtmlDocumentmůžete vytvořit nové HtmlElement objekty CreateElement a přidat je do jiného prvku pomocí metod.InsertAdjacentElement AppendChild Můžete také vytvořit prvky jako značky HTML a přiřadit je k vlastnosti existujícího elementu InnerHtml .

Vlastnosti

All

HtmlElementCollection Získá ze všech prvků pod aktuální prvek.

CanHaveChildren

Získá hodnotu označující, zda tento prvek může mít podřízené elementy.

Children

HtmlElementCollection Získá všechny podřízené položky aktuálního prvku.

ClientRectangle

Získá hranice klientské oblasti prvku v dokumentu HTML.

Document

HtmlDocument Získá, do kterého tento prvek patří.

DomElement

Získá nespravovaný ukazatel rozhraní pro tento prvek.

Enabled

Získá nebo nastaví, zda uživatel může do tohoto prvku zadávat data.

FirstChild

Získá další prvek pod tímto prvkem ve stromu dokumentu.

Id

Získá nebo nastaví popisek, podle kterého chcete identifikovat prvek.

InnerHtml

Získá nebo nastaví kód HTML pod tímto prvkem.

InnerText

Získá nebo nastaví text přiřazený k prvku.

Name

Získá nebo nastaví název elementu.

NextSibling

Získá další prvek na stejné úrovni jako tento prvek ve stromu dokumentu.

OffsetParent

Získá prvek, ze kterého OffsetRectangle je vypočítán.

OffsetRectangle

Získá umístění elementu vzhledem k jeho nadřazené.

OuterHtml

Získá nebo nastaví kód HTML aktuálního elementu.

OuterText

Získá nebo nastaví text aktuálního prvku.

Parent

Získá nadřazený prvek aktuálního prvku.

ScrollLeft

Získá nebo nastaví vzdálenost mezi okrajem prvku a levým okrajem jeho obsahu.

ScrollRectangle

Získá rozměry posouvání oblasti prvku.

ScrollTop

Získá nebo nastaví vzdálenost mezi okrajem prvku a horním okrajem jeho obsahu.

Style

Získá nebo nastaví středník oddělený seznam stylů pro aktuální prvek.

TabIndex

Získá nebo nastaví umístění tohoto prvku v pořadí karet.

TagName

Získá název značky HTML.

Metody

AppendChild(HtmlElement)

Přidá prvek do podstromu jiného prvku.

AttachEventHandler(String, EventHandler)

Přidá obslužnou rutinu události pro pojmenovanou událost v modelu DOM (Document Object Model) HTML.

DetachEventHandler(String, EventHandler)

Odebere obslužnou rutinu události z pojmenované události v modelu DOM (Document Object Model) HTML.

Equals(Object)

Testuje, jestli se zadaný objekt rovná aktuálnímu prvku.

Focus()

Umístí fokus vstupu uživatele na aktuální prvek.

GetAttribute(String)

Načte hodnotu pojmenovaného atributu prvku.

GetElementsByTagName(String)

Načte kolekci prvků reprezentovaných ve formátu HTML zadanou značkou HTML .

GetHashCode()

Slouží jako funkce hash pro určitý typ.

GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
InsertAdjacentElement(HtmlElementInsertionOrientation, HtmlElement)

Vložte nový prvek do modelu DOM (Document Object Model).

InvokeMember(String)

Spustí nevyexponovanou metodu na podkladovém prvku DOM tohoto elementu.

InvokeMember(String, Object[])

Spustí funkci definovanou na aktuální stránce HTML skriptovacím jazykem.

MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
RaiseEvent(String)

Způsobí, že pojmenovaná událost zavolá všechny registrované obslužné rutiny událostí.

RemoveFocus()

Odebere fokus z aktuálního prvku, pokud má daný prvek fokus.

ScrollIntoView(Boolean)

Prochází dokument obsahující tento prvek, dokud se horní nebo dolní okraj tohoto prvku nezarovná s oknem dokumentu.

SetAttribute(String, String)

Nastaví hodnotu pojmenovaného atributu prvku.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Operátory

Equality(HtmlElement, HtmlElement)

Porovná dva prvky rovnosti.

Inequality(HtmlElement, HtmlElement)

Porovná dva HtmlElement objekty pro nerovnost.

událost

Click

Nastane, když uživatel klikne na prvek pomocí levého tlačítka myši.

DoubleClick

Nastane, když uživatel dvakrát klikne na levé tlačítko myši na prvek, a to rychle po sobě.

Drag

Nastane, když uživatel přetáhne text do různých umístění.

DragEnd

Nastane, když uživatel dokončí operaci přetažení.

DragLeave

Nastane, když uživatel už nepřetahuje položku přes tento prvek.

DragOver

Nastane, když uživatel přetáhne text přes prvek.

Focusing

Nastane, když prvek poprvé obdrží fokus vstupu uživatele.

GotFocus

Nastane, když prvek přijal fokus vstupu uživatele.

KeyDown

Nastane, když uživatel stiskne klávesu na klávesnici.

KeyPress

Nastane, když uživatel stiskne a uvolní klávesu na klávesnici.

KeyUp

Nastane, když uživatel uvolní klávesu na klávesnici.

LosingFocus

Nastane, když prvek ztratí fokus uživatelského vstupu.

LostFocus

Nastane, když prvek ztratí fokus uživatelského vstupu.

MouseDown

Nastane, když uživatel stiskne tlačítko myši.

MouseEnter

Nastane, když uživatel nejprve přesune kurzor myši na aktuální prvek.

MouseLeave

Nastane, když uživatel přesune kurzor myši mimo aktuální prvek.

MouseMove

Nastane, když uživatel přesune kurzor myši přes prvek.

MouseOver

Nastane, když kurzor myši přejde na hranice prvku.

MouseUp

Nastane, když uživatel uvolní tlačítko myši.

Platí pro

Viz také