あらかじめ日記

雑記とかブログで使えるスクリプトとかテクニックとか。その他、音楽やアニメ、漫画の話題とかも。

【C#】IHTMLTxtRangeのhtmlTextとparentElementの動きについてのメモ

IHTMLTxtRangeを扱っているときに分かったことのメモ書きです。

内容的にはこの辺の記事の絡みです。

allthewayfrom.hatenablog.com

 

  • 選択範囲があるタグ内に収まっている場合
    • htmlTextは選択範囲テキストのみ
    • parentElementはその囲まれたタグ

これはまぁそうですね。

  • 選択範囲がタグ内の文字を全て含む場合
    • htmlTextはそのタグの開始と終了を含む
    • parentElementはその囲まれたタグ

  • 選択範囲がタグを跨ぐ場合
    • htmlTextは跨いだタグの開始と終了を含む
    • parentElementはその跨いだタグに対する親になる



つまり、<div><span>123</span>456</div>と言うHTMLがあった場合、

  • 23を選択
    • htmlText:23
    • parentElement:spanタグ

  • 123を選択
    • htmlText:<span>123</span>
    • parentElement:spanタグ

  • 34を選択
    • htmlText:<span>3</span>4
    • parentElement:divタグ


となります。

1文字でもタグを跨いでいれば、タグはちゃんと囲んだ状態で保持しているのか(悪く言うと余計なお世話?)、と言うところの覚え書き。

前述の選択範囲を見つける記事でこの仕様が上手く利用できないかなぁと思いましたが、、まぁ特にピンとは来ませんでした。^^;

ご参考までに。