【C#】IHTMLTxtRangeのhtmlTextとparentElementの動きについてのメモ
IHTMLTxtRangeを扱っているときに分かったことのメモ書きです。
内容的にはこの辺の記事の絡みです。
- 選択範囲があるタグ内に収まっている場合
- 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文字でもタグを跨いでいれば、タグはちゃんと囲んだ状態で保持しているのか(悪く言うと余計なお世話?)、と言うところの覚え書き。
前述の選択範囲を見つける記事でこの仕様が上手く利用できないかなぁと思いましたが、、まぁ特にピンとは来ませんでした。^^;
ご参考までに。