Бөлісу құралы:


HtmlElement Класс

Определение

Представляет элемент HTML на веб-странице.

public ref class HtmlElement sealed
public sealed class HtmlElement
type HtmlElement = class
Public NotInheritable Class HtmlElement
Наследование
HtmlElement

Примеры

В следующем примере кода показано, как изучить произвольный HTML-документ и наследовать строку, описывающую элементы HTML, с отступами и номерами уровней, используемыми для указания того, насколько глубоко вложенные элементы находятся в документе. В этом примере кода требуется, чтобы приложение размещалось в элементе WebBrowser управления с именем 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

Комментарии

HtmlElement представляет любой возможный тип элемента в HTML-документе, например BODY, TABLEи FORM, среди прочего. Класс предоставляет наиболее распространенные свойства, которые можно найти во всех элементах.

Большинство элементов может содержать дочерние элементы: другие HTML-элементы, помещенные под ними. CanHaveChildren Используйте свойство, чтобы проверить, имеет ли заданный элемент дочерние элементы, и Children коллекцию для итерации по ним. Свойство Parent возвращает значение, HtmlElement в котором вложенный текущий элемент.

Часто требуется доступ к атрибутам, свойствам и методам базового элемента, которые не предоставляются HtmlElementнапрямую, например SRC атрибутом IMG элемента или Submit метода в объекте FORM. Методы GetAttribute позволяют SetAttribute извлекать и изменять любые атрибуты или свойства для определенного элемента, а также InvokeMember предоставлять доступ к любым методам, не предоставляемым в управляемой объектной модели документов (DOM). Если у приложения есть неуправляемое разрешение на код, вы также можете получить доступ к ненаправимым свойствам и методам с помощью атрибута DomElement .

TagName Используйте свойство, чтобы проверить, является ли элемент определенным типом.

Любой HTML-документ можно изменить во время выполнения. Вы можете создать новые HtmlElement объекты с CreateElement помощью метода HtmlDocumentи добавить их в другой элемент с помощью AppendChild методов или InsertAdjacentElement методов. Вы также можете создать элементы в виде HTML-тегов и назначить их свойству существующего InnerHtml элемента.

Свойства

All

Получает коллекцию HtmlElementCollection всех элементов, расположенных под текущим элементом.

CanHaveChildren

Возвращает значение, указывающее, может ли текущий элемент иметь дочерние элементы.

Children

Получает коллекцию HtmlElementCollection всех дочерних элементов для текущего элемента.

ClientRectangle

Возвращает границы клиентской области элемента в HTML-документе.

Document

Получает объект HtmlDocument, к которому принадлежит данный элемент.

DomElement

Возвращает указатель на неуправляемый интерфейс для этого элемента.

Enabled

Возвращает или задает параметр, определяющий возможность ввода пользователем данных в этот элемент.

FirstChild

Получает следующий элемент, расположенный под этим элементом в дереве документа.

Id

Возвращает или задает метку, по которой определяется элемент.

InnerHtml

Возвращает или задает разметку HTML, расположенную под этим элементом.

InnerText

Возвращает или задает текст, назначенный элементу.

Name

Возвращает или задает имя элемента.

NextSibling

Получает следующий элемент, расположенный в дереве документа на одном уровне с данным элементом.

OffsetParent

Получает элемент, из которого вычисляется OffsetRectangle.

OffsetRectangle

Возвращает расположение элемента относительно его родительского элемента.

OuterHtml

Получает или задает HTML-код текущего элемента.

OuterText

Получает или задает текст текущего элемента.

Parent

Возвращает родительский элемент текущего элемента.

ScrollLeft

Возвращает или задает расстояние между краем элемента и левым краем его содержимого.

ScrollRectangle

Возвращает размеры области прокрутки элемента.

ScrollTop

Возвращает или задает расстояние между краем элемента и верхним краем его содержимого.

Style

Получает или задает список стилей текущего элемента, разделенных точкой с запятой.

TabIndex

Возвращает или задает расположение этого элемента в последовательности перехода.

TagName

Возвращает имя HTML-тега.

Методы

AppendChild(HtmlElement)

Добавляет элемент в поддерево другого элемента.

AttachEventHandler(String, EventHandler)

Добавляет обработчик событий для события с заданным именем в модели HTML DOM.

DetachEventHandler(String, EventHandler)

Удаляет обработчик событий из события с заданным именем в модели HTML DOM.

Equals(Object)

Проверяет, равен ли переданный объект текущему элементу.

Focus()

Помещает фокус ввода на текущий элемент.

GetAttribute(String)

Возвращает значение атрибута с заданным именем в элементе.

GetElementsByTagName(String)

Возвращает коллекцию элементов, представленных в HTML-коде, по заданному тегу HTML.

GetHashCode()

Выступает в качестве хэш-функции для определенного типа.

GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
InsertAdjacentElement(HtmlElementInsertionOrientation, HtmlElement)

Вставляет новый элемент в модель DOM.

InvokeMember(String)

Выполняет невыявленный метод в базовом элементе DOM данного элемента.

InvokeMember(String, Object[])

Выполняет функцию, определенную на текущей HTML-странице с помощью языка скриптов.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
RaiseEvent(String)

Приводит к тому, что именованное событие вызывает все зарегистрированные обработчики событий.

RemoveFocus()

Удаляет фокус из текущего элемента, если этот элемент в фокусе.

ScrollIntoView(Boolean)

Выполняет прокрутку документа, содержащего этот элемент, пока верхний или нижний край элемента не окажется выровненным с окном документа.

SetAttribute(String, String)

Задает значение атрибута с заданным именем в элементе.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Операторы

Equality(HtmlElement, HtmlElement)

Проверяет равенство двух элементов.

Inequality(HtmlElement, HtmlElement)

Проверяет неравенство двух объектов HtmlElement.

События

Click

Происходит, когда пользователь щелкает элемент левой кнопкой мыши.

DoubleClick

Происходит, когда пользователь дважды в течение короткого промежутка времени щелкает элемент левой кнопкой мыши.

Drag

Происходит, когда пользователь перетаскивает текст в различные места.

DragEnd

Происходит, когда пользователь завершает операцию перетаскивания.

DragLeave

Происходит, когда пользователь прекращает перетаскивание объекта через этот элемент.

DragOver

Происходит, когда пользователь перетаскивает текст на элемент.

Focusing

Происходит, когда элемент впервые получает фокус ввода пользователя.

GotFocus

Происходит, когда элемент получил фокус ввода.

KeyDown

Происходит, когда пользователь нажимает клавишу на клавиатуре.

KeyPress

Происходит, когда пользователь нажимает и отпускает клавишу на клавиатуре.

KeyUp

Происходит, когда пользователь отпускает клавишу на клавиатуре.

LosingFocus

Происходит, когда элемент теряет фокус ввода пользователя.

LostFocus

Происходит, когда элемент потерял фокус ввода пользователя.

MouseDown

Происходит, когда пользователь нажимает кнопку мыши.

MouseEnter

Происходит, когда пользователь впервые наводит указатель мыши на текущий элемент.

MouseLeave

Происходит, когда пользователь выводит указатель мыши из текущего элемента.

MouseMove

Происходит, когда пользователь перемещает указатель мыши по элементу.

MouseOver

Происходит, когда указатель мыши входит в пределы элемента.

MouseUp

Происходит, когда пользователь отпускает кнопку мыши.

Применяется к

См. также раздел