try this out:<textarea id="txt1">0123456789</textarea>
<input type="button" value="show caret position" onclick="getCaretPos()"><br>
<input value="4" id="txt2">
<input type="button" value="select char" onclick="selectChar(txt2.value)">
<script>
function getCaretPos()
{
  txt1.focus(); var currentRange=document.selection.createRange();
 var workRange=currentRange.duplicate(); txt1.select();
 var allRange=document.selection.createRange();
 var len=0; while(workRange.compareEndPoints("StartToStart",allRange)>0)
 {
  workRange.moveStart("character",-1);
  len++;
 } currentRange.select(); alert(len);
}function selectChar(nPos)
{
var caretPos =  txt1.createTextRange();

caretPos.move("character",nPos);
caretPos.expand("character");
caretPos.select();
txt1.focus();
}
</script>