다음을 통해 공유


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, TABLEFORM기타)를 나타냅니다. 클래스는 모든 요소에서 찾을 수 있는 가장 일반적인 속성을 노출합니다.

대부분의 요소에는 자식 요소( 그 아래에 배치되는 다른 HTML 요소)가 있을 수 있습니다. CanHaveChildren 속성을 사용하여 지정된 요소에 자식이 있는지 여부를 테스트하고 Children 컬렉션을 통해 반복합니다. 이 속성은 Parent 현재 요소가 중첩된 값을 반환 HtmlElement 합니다.

요소의 특성 또는 메서드와 같이 직접 노출 HtmlElement되지 않는 기본 요소의 SRC 특성, 속성 및 메서드에 IMG Submit FORM액세스해야 하는 경우가 많습니다. 및 GetAttribute SetAttribute 메서드를 사용하면 특정 요소의 특성 또는 속성을 검색하고 변경할 수 있으며 InvokeMember 관리되는 DOM(문서 개체 모델)에 노출되지 않은 메서드에 액세스할 수 있습니다. 노출 되지 않은 속성 및 메서드를 액세스 애플리케이션에 비관리 코드 권한, 하는 경우는 DomElement 특성입니다.

TagName 속성을 사용하여 요소가 특정 형식인지 여부를 테스트합니다.

모든 HTML 문서는 런타임에 수정할 수 있습니다. 메서드를 사용하여 새 HtmlElement 개체를 CreateElement 만들고 또는 InsertAdjacentElement 메서드HtmlDocument를 사용하여 다른 요소에 AppendChild 추가할 수 있습니다. 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

사용자가 마우스 단추를 놓을 때 발생합니다.

적용 대상

추가 정보