Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Общий предок (https://javascript.ru/forum/events/18267-obshhijj-predok.html)

trikadin 25.06.2011 02:10

Да, я ступил. Mea Culpa) Всё, прекрасно) Спасибо))

tenshi 27.06.2011 11:19

тут не надо никаких циклов. достаточно навести текстовый диапазон началом на один элемент, концом на другой, а потом попросить у него родительский контейнер.

tenshi 27.06.2011 11:21

гуглить по TextRange commonAncestorContainer

Aetae 27.06.2011 11:28

*бьется головой о стену*

tenshi 27.06.2011 11:47

*приклеил к стене подушечку*

trikadin 06.07.2011 18:55

tenshi, хоть это и некропост будет, но всё же... Range-объектов в ie нет (причём версии до восьмой, что ли). А я немного гоняюсь за кроссбраузерностью.

tenshi 06.07.2011 21:31

да ладна? х)
http://yandex.ru/yandsearch?text=tex... chrome&lr=213

trikadin 06.07.2011 21:56

Range по стандарту w3c и по "стандарту" microsoft - немного разные вещи. Почитайте.

Да простой пример, собственно:
alert(document.createRange);

У меня восьмой осёл, и выдаёт undefined.

tenshi 06.07.2011 22:06

тебе шашечки или ехать?

trikadin 06.07.2011 22:06

Ну, и плюс к тому же, Range.commonAncestorContainer - это не совсем общий родитель. Пример:

<div id="div">text</div>
<script>
div= document.getElementById('div');

rng= document.createRange(); // not ie
rng.setStart(div, 0);
rng.setEnd(div, 1);
alert(rng.commonAncestorContainer.id); // "div"
</script>


В данном случае, он равен элементу, в котором начинается и заканчивается Range-объект. А общим родителем этих двух элементов в данном случае будет body.


Часовой пояс GMT +3, время: 07:16.