pasteHTML et pas parse ...
le gros problème en js, c'est que tu ne peux trouver que ce que tu connais déjà (opinion personnelle). ie, c'est à force de se balader sur qq sites web, qq références, bref de glaner qq exemples et qq noms de fonctions que tu pigeras bien l'api. le langage en lui-même n'est pas très compliqué, par contre ça peut être assez chiant de trouver la méthode qui fait ce que tu veux.
pour une référence du langage, http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM
pour une faq exhaustive, http://developer.irt.org/script/script.htm
l'allié le plus précieux : google, évidemment. par ex, chercher createTextRange() te donne http://msdn.microsoft.com/workshop [...] trange.asp , qui te donne un lien vers TextRange http://msdn.microsoft.com/library/ [...] trange.asp, dont tu peux voir la méthode pasteHTML. attention car là on se balade dans le royaume microsoft, si tu veux être compatible tu regardes la partie 'standards' en bas de chaque page. tu verras un lien vers le w3 si la fonction est officielle.
autre 'tip', , tu peux chercher par défaut uniquement sur la msdn avec google. chercher 'appendChild site:msdn.microsoft.com' te donnera http://www.google.com/search?q=app [...] rosoft.com , ce qui est ce que tu cherches : la fonction parmi la liste des fonctions js.
etc. tu peux commencer par l'intro au dhtml sur la msdn : http://msdn.microsoft.com/library/ [...] _entry.asp
(la msdn reste à mon avis le site le plus complet sur javascript niveau référence & tutorials, même si y'a pas mal de truc propriétaires).
//
pour contenteditable : si, ça te permettra de souligner du texte dans un <textarea>. c'est vrai que l'exemple ne comporte pas de soulignement
tu appliques la méthode google, tu tombes sur la msdn, sur la page des liens 'show example' et 'show me'. les premiers contiennent souvent uniquement du code, mais parfois des démos. 'show me' est toujours une démo. ici, tu auras la possibilité de souligner ton texte.