Я ищу способ получить смещение относительно всего документа для данного узла с помощью Javascript. Например .:Получить смещение узла в целом HTML-документ в Javascript?
<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 в символах по отношению ко всему документу.
Любая идея, как это сделать?
Заранее спасибо.
Невозможно ли получить unparsed HTML? Если да, можно ли получить смещение обрезанного тела? (только подсчет из тела, без пробелов, кроме пробелов) - Обновление: когда я записываю $ ('html'). html(), пробелы, похоже, зарезервированы. Например. когда я добавляю 5 вкладок, это показывает эти 5 вкладок. Он также показывает Javascript и т. Д. – Tom
Или лучше: $ (document) .children(). Html() – Tom
@Tom: Нет гарантии, что он будет работать. Например, Firefox, похоже, сохраняет форматирование, в то время как IE и Chrome полоса пространства по своему вкусу. И получить смещение от «обрезанного тела» непросто: вам, по сути, нужно написать собственный парсер DOM. – casablanca