Hallo Marc,
gut beobachtet.
Da scheint auf den ersten Blick (ohne Nachdenken) ein Bruch in der Logik zu sein.
Allerdings könnte sich das klären, wenn man nochmal genauer hinschaut, was
myPara.index eigentlich ist. Es handelt sich dabei um den Index des ersten Einfügepunkts eines Absatzes.
Beim ersten Absatz ist dieser 0.
Du hast also einem
itemByRange(0,0).
Die Zahl der darin enthalten Absätze ist 1 (und nicht 0 - Du kannst diesem Rangeobjekt nämlich durchaus Absatzattribute zuweisen).
Nimmst Du den zweiten Absatz als Referenz, dann ist der erste Einfügepunkt ganz am Anfang des zweiten Absatzes; der zweite Absatz also noch nicht drin angebrochen/enthalten. Deswegen ist auch hier die Zahl der vorhergehenden Absätze 1!
Du kannst das Problem, das leicht in eine philosophische Diskussion münden könnte, umgehen, indem Du nicht den ersten Einfügepunkt eines Absatzes, sondern den zweiten als Referenz nimmst:
Allerdings musst Du dann bei der Adressierung des nachfolgenden Absatzes wieder berücksichtigen, dass JavaScript bei 0 und nicht bei 1 anfängt zu zählen. ;-)