HtmlElement クラス

定義

Web ページ内の HTML 要素を表します。

public ref class HtmlElement sealed
public sealed class HtmlElement
type HtmlElement = class
Public NotInheritable Class HtmlElement
継承
HtmlElement

次のコード例は、任意の HTML ドキュメントを調べて、HTML 要素を記述する文字列を派生させる方法を示しています。インデントとレベル番号を使用して、ドキュメント内の要素がどのくらい深く入れ子になっているかを示します。 このコード例では、アプリケーションで名前付きWebBrowser1コントロールをホストするWebBrowser必要があります。

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 要素が入れ子になっている値を返します。

多くの場合、基になる要素の属性、プロパティ、およびメソッド (要素の属性IMG``SubmitやメソッドなどSRC) によってHtmlElement直接公開されないメソッドにFORMアクセスする必要があります。 メソッドGetAttributeSetAttributeを使用すると、特定の要素の属性またはプロパティを取得および変更できます。一方InvokeMember、マネージド ドキュメント オブジェクト モデル (DOM) で公開されていないメソッドへのアクセスを提供します。 アプリケーションにアンマネージド コードアクセス許可がある場合は、未公開のプロパティとメソッドに属性を使用して DomElement アクセスすることもできます。

このプロパティを TagName 使用して、要素が特定の型であるかどうかをテストします。

HTML ドキュメントは実行時に変更できます。 メソッドを使用して新しいHtmlElementオブジェクトをCreateElement作成し、またはメソッドHtmlDocumentを使用して別の要素にAppendChildInsertAdjacentElement追加できます。 また、要素を 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 (Document Object Model) の指定したイベントからイベント ハンドラーを削除します。

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)

2 つの要素が等しいかどうかを比較します。

Inequality(HtmlElement, HtmlElement)

2 つの HtmlElement オブジェクトが等しくないかどうかを比較します。

events

Click

ユーザーが要素をマウスの左ボタンでクリックしたときに発生します。

DoubleClick

ユーザーが要素上でマウスの左ボタンを 2 回すばやく連続的にクリックしたときに発生します。

Drag

ユーザーがテキストをさまざまな位置にドラッグしたときに発生します。

DragEnd

ユーザーがドラッグ操作を終了したときに発生します。

DragLeave

ユーザーがこの要素上への項目のドラッグを終了したときに発生します。

DragOver

ユーザーがテキストを要素上にドラッグしたときに発生します。

Focusing

要素が初めてユーザーの入力フォーカスを得たときに発生します。

GotFocus

要素がユーザーの入力フォーカスを得たときに発生します。

KeyDown

ユーザーがキーボードのキーを押したときに発生します。

KeyPress

ユーザーがキーボードのキーを押して離したときに発生します。

KeyUp

ユーザーがキーボードのキーを離したときに発生します。

LosingFocus

要素がユーザーの入力フォーカスを失うときに発生します。

LostFocus

要素がユーザーの入力フォーカスを失ったときに発生します。

MouseDown

ユーザーがマウス ボタンを押したときに発生します。

MouseEnter

ユーザーがマウス カーソルを現在の要素上に初めて移動させたときに発生します。

MouseLeave

ユーザーがマウス カーソルを現在の要素から移動させたときに発生します。

MouseMove

ユーザーがマウス カーソルを要素上に通過させたときに発生します。

MouseOver

マウス カーソルが要素の境界内に入ったときに発生します。

MouseUp

ユーザーがマウス ボタンを離したときに発生します。

適用対象

こちらもご覧ください