как я могу определить дельту y подтега в теге p

#html

Вопрос:

У меня очень длинный текст в теге p, этот текст содержит много сносок.

как я могу определить смещение y этих тегов sup, я хочу отобразить сноски слева от текста.

 <p>Wir Herman von <bold>Wachtendungk,<sup>2</sup></bold> von Gots gnaden Abt des Gotshuiss und herre zu Sieberg, <bold>vort<sup>3</sup></bold> gantz gemein Convent ordens sanct Benedicti, inn dem <bold>gestichte<sup>4</sup></bold> vonn Collenn gelegenn, Thun sementlichenn khundt allenn luiden unnd bekennen ...</p>
 

Ответ №1:

Если вам нужно смещение относительно страницы, вы можете попробовать что-то вроде

 const elements = document.getElementsByTagName('sup');
Array.from(elements).forEach(element => {
    const clientRect = element.getBoundingClientRect();
    const clientX = clientRect.left;
    console.log(clientX); // this is your offset
});
 

Если вам нужно смещение относительно заключающего элемента <p>

 // select your p here
const p = document.getElementById(...);
const bounds = p.getBoundingClientRect();
const pOffset = bounds.left;
const elements = document.getElementsByTagName(sup);
Array.from(elements).forEach(element => {
    const clientRect = element.getBoundingClientRect();
    const clientX = clientRect.left;
    console.log(clientX - pOffset); // this is your offset
})  
 

Комментарии:

1. спасибо, это действительно здорово. спасибо, отлично работает!