- - PR -
webbrowserコントロールの情報取得
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-08-24 19:17
【開発環境】
Windows2000 Pro(SP4) .NET2003 VB.NET お世話になっております。表題の件で質問があります。 http://support.microsoft.com/default.aspx?scid=kb;ja;311284 上記サイトを参考にWebBrowserコントロールのイベント取得を実装しました。 onclickイベントで選択されたコントロールの情報を取得しようとしているのですが 取り方が分からず行き詰まっております。 実際に取りたい情報は↓の"name1"という値です。 ----------------------------------------- <DIV id="ABC" class="name1"> <INPUT TYPE="image" SRC="test.jpg" > </DIV> ----------------------------------------- srcElementのプロパティ類は試してみましたが違いました。 (使い方が間違っているのかもしれません、この時のtagNameは"INPUT"です) ご存知の方がおられましたら、ご教授お願い致します。 | ||||
|
投稿日時: 2005-08-24 20:58
順番に考えていけば自明だと思うのですが。
DOMの概念が分かってないと難しいのかな。 まず、クリックされたのはINPUT要素ですよね。 ですからonclickイベントはINPUT要素で発生します。 srcElementはイベントが発生した要素を表しますから、そのtagNameはこのときINPUTになります。 さて、DOMでは親子関係で各要素を管理します。 最上位がHTML、その子要素にHEADとBODY。HEADの子要素にMETAやTITLE、BODYの子要素にはDIVやらかんやら。
というHTML(の一部)の場合、DIVの子要素としてINPUTが存在します。 逆に言うと、INPUTの親要素としてDIVが存在していることになります。 つまり"srcElement=INPUT"の親要素を取得すればDIVの各種情報にタッチできると言うことです。 IHTMLElement型であるsrcElementのプロパティを見ていけばそれらしいのが見つかります。 さて、こうやってDIVを指すIHTMLElement型のオブジェクトが取得できました。 あとはこの要素が持つclass属性の内容を取得するだけです。 これも同じくIHTMLElementのプロパティを見ていくと、そのままの名前のプロパティが存在します。 //getAttributeではclass属性は取得できないようですねー。 | ||||
|
投稿日時: 2005-08-24 22:53
>Hongliangさん
早々のご回答ありがとうございます。 Hongliangさんの説明のおかげで分かりました。 ----------------------------------------- #eはmshtml.IHTMLEventObj e.srcElement.parentElement.id e.srcElement.parentElement.className ----------------------------------------- !!ありがとうございました!! |
1