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 по указанному |
| 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 |
Происходит, когда пользователь освобождает кнопку мыши. |