Здравствуйте! Скопировал с учебной части этого сайта 2 примера, которые по заверениям авторов должны работать на всех браузерах кроме IE<9. У меня, почему-то, не оба не работают ни в FF ни в GC, т. к. RootCreate во время проверки у меня равен пустой строке.
Подскажите, в чём дело. Код одного из них прилагаю
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<div id="ex2">
<h2>Соз|даем объект `Range`</h2>
<p>От третье|го символа заголовка до десятого символа это абзаца.</p>
</div>
<button onclick="alert(domRangeCreate())">
Создать Range и вывести его текст
</button>
<script>
function domRangeCreate() {
// Найдем корневой контейнер
var root = document.getElementById('ex2');
// Найдем контейнеры граничных точек (в данном случае тестовые)
var start = root.getElementsByTagName('h2')[0].firstChild;
var end = root.getElementsByTagName('p')[0].firstChild;
if (root.createRange) {
// Создаем Range
var rng = root.createRange();
// Задаем верхнюю граничную точку, передав контейнер и смещение
rng.setStart( start, 3 );
// Аналогично для нижней границы
rng.setEnd( end, 10 );
// Теперь мы можем вернуть текст, который содержится в полученной области
return rng.toString();
} else {
return 'Вероятно, у вас IE<9, смотрите реализацию TextRange ниже';
}
}
</script>
</body>
</html>