Je cherche un moyen d'obtenir le décalage relatif à l'ensemble du document pour un nœud donné avec Javascript. Par exemple .:Obtenir le décalage du nœud dans le document html entier en 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>
ensuite (en utilisant JQuery):
$("#myTitle").getDocumentOffset()
devrait revenir 47 parce que le h1 avec id myTitle commence à l'offset 47 en caractères par rapport à l'ensemble du document.
Une idée de comment accomplir ceci?
Merci d'avance.
Est-il jamais possible d'obtenir le HTML non analysé? Si oui, serait-il possible d'obtenir le décalage d'un corps taillé? (compter uniquement à partir du corps, pas d'espaces sauf les espaces) - Mise à jour: quand je m'enregistre $ ('html'). html(), les espaces semblent être réservés. Par exemple. quand j'ajoute 5 onglets, il montre ces 5 onglets. Il montre aussi Javascript, etc. – Tom
Ou mieux: $ (document) .children(). Html() – Tom
@Tom: Il n'y a aucune garantie que cela fonctionnera. Par exemple, Firefox semble conserver la mise en forme, tandis que IE et Chrome suppriment les espaces selon leur préférence. Et obtenir le décalage d'un "corps rogné" n'est pas facile: il faut essentiellement écrire son propre analyseur DOM. – casablanca