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