Ну, у меня способ чуть сложный: можно попробовать через цикл перебирать элементы. Насколько я знаю, JQuery и просто JS быстрыми функциями для такого, вроде бы, не обладают.
window.getSelection().focusNode - это текущий элемент, где установлена каретка. Дальше все варианты сводятся к тому, чтобы получить всех детей contenteditable стоящих до этого элемента. Как это определить - решать вам, я бы просто сравнивал индексы.