Sdílet prostřednictvím


HtmlElement Třída

Definice

Představuje prvek 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 na úrovni, 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 prvku 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 u všech prvků.

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

Často potřebujete přístup k atributům, vlastnostem a metodám v podkladovém prvku, které nejsou přímo vystaveny HtmlElement, jako SRC je atribut prvku IMG nebo Submit metoda v objektu FORM. Tyto GetAttribute metody SetAttribute umožňují načíst a změnit jakýkoli atribut nebo vlastnost konkrétního elementu, zatímco InvokeMember poskytuje přístup k jakýmkoli metodám, které nejsou vystaveny ve spravovaném objektovém modelu 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 určité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í AppendChild nebo InsertAdjacentElement metod. Můžete také vytvořit prvky jako značky HTML a přiřadit je k vlastnosti existujícího elementu InnerHtml .

Vlastnosti

Name Description
All

Získá všechny HtmlElementCollection prvky pod aktuální prvek.

CanHaveChildren

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

Children

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

ClientRectangle

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

Document

Získá, HtmlDocument ke kterému tento prvek patří.

DomElement

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

Enabled

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

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 se vypočítá.

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ý element aktuálního elementu.

ScrollLeft

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

ScrollRectangle

Získá rozměry posuvné oblasti prvku.

ScrollTop

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

Style

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

TabIndex

Získá nebo nastaví umístění tohoto prvku v pořadí ovládacích prvků.

TagName

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

Metody

Name Description
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, zda se zadaný objekt rovná aktuálnímu prvku.

Focus()

Umístí uživatelský vstup 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 HTML značkou.

GetHashCode()

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

GetType()

Získá Type aktuální instance.

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

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

InvokeMember(String, Object[])

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

InvokeMember(String)

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

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

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

Způsobí, že pojmenovaná událost bude volat 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 nebude horní nebo dolní okraj tohoto prvku zarovnaný 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

Name Description
Equality(HtmlElement, HtmlElement)

Porovná dva prvky rovnosti.

Inequality(HtmlElement, HtmlElement)

Porovná dva HtmlElement objekty pro nerovnost.

Událost

Name Description
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 nad prvkem v rychlém sledu.

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 již 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ží uživatelský vstup fokus.

GotFocus

Nastane, když prvek obdržel uživatelský vstup fokus.

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 ztrácí fokus uživatelského vstupu.

LostFocus

Nastane, když prvek ztratil uživatelský vstup fokus.

MouseDown

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

MouseEnter

Nastane, když uživatel poprvé 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é