Поделиться через


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-документе, например BODYTABLE, иFORM, среди прочего. Класс предоставляет наиболее распространенные свойства, которые можно найти во всех элементах.

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

Часто требуется доступ к атрибутам, свойствам и методам базового элемента, которые не предоставляются напрямую HtmlElement, например SRCIMG атрибутом элемента или Submit метода в объекте FORM. SetAttribute Методы GetAttribute позволяют извлекать и изменять любой атрибут или свойство в определенном элементе, а 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, Object[])

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

InvokeMember(String)

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

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

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

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

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