Получить смещение узла во всем HTML-документе в Javascript? - PullRequest
3 голосов
/ 16 октября 2010

Я ищу способ получить смещение относительно всего документа для данного узла с помощью Javascript. Eg.:

<html>
    <head></head>
    <body>
        <div id="mainContent">
            <h1 id="myTitle">Title</h1>
            <p>First paragraph</p>
            <p>Second <b>paragraph</b></p>
        </div>
    </body>
</html>

Тогда (используя JQuery):

$("#myTitle").getDocumentOffset()

должно вернуть 47, потому что h1 с идентификатором myTitle начинается со смещения 47 в символах относительно всего документа.

Есть идеи, как этого добиться?

Заранее спасибо.

1 Ответ

7 голосов
/ 16 октября 2010

Этот вопрос не имеет смысла, потому что лишние пробелы игнорируются в документах HTML и, следовательно, одна и та же страница может быть представлена ​​несколькими способами.Например, это:

<html>
  <body></body>
</html>

эквивалентно этому:

<html><body></body></html>

Кроме того, после того, как браузер проанализировал ваш код, нет способа извлечь исходную разметку HTML (стот же пробел), который присутствовал в исходном файле.Это означает, что искомое значение смещения не определено однозначно.

...