2016-04-02 1 views
0

Я пытаюсь вычислить текстовое положение одного HTML-элемента внутри другого в Dom (без объектов HTML). Например:Как рассчитать текстовое положение одного элемента внутри другого?

<body> 


    <div class="texOne"> 
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. 
    <div> 

    <div class="texTwo"> 
    Excepteur <mark id="example">sint</mark> occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 
    <div> 

    <script> 
    var offsets=$("div.textTwo").calculateOffsetsOf("#example"); 

    //Result 
    offset.start=10 
    offset.end=14 
    </script> 

</body> 

Как я могу найти эти смещения с наилучшей производительностью?

ответ

0

Не беспокойтесь о производительности на этом этапе карьеры кодирования - сосредоточьтесь на том, что имеет смысл.

Вы можете получить внутренний HTML родителя с .html() метода JQuery в:

var parentHtml = $("div.texTwo").html() 
// -> Excepteur <mark id="example">sint</mark> occaecat cupidatat non proident... 

сделать то же самое для внешнего HTML ребенка:

var childHtml = $("#example").outerHTML() 
// -> <mark id="example">sint</mark> 

И вы должны быть в состоянии вычислить начальную точку. Конечная точка будет только отправной точкой + длиной детского текста.

+0

Это не решение. Он получает html-объекты, которые изменяют исходную позицию текста. Спасибо, в любом случае. – Martin

+0

Не уверен, что вы подразумеваете под этим. Вы можете легко создать метод, чтобы дать начало и конец, как вы просили. Что-то об этом вы не понимаете? – tyler

 Смежные вопросы

  • Нет связанных вопросов^_^