Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вернуть в строковую переменную текст между тегами h1 (https://javascript.ru/forum/misc/4704-vernut-v-strokovuyu-peremennuyu-tekst-mezhdu-tegami-h1.html)

andikk 14.08.2009 16:38

Вернуть в строковую переменную текст между тегами h1
 
Люди, нарисуйте, пожалуйста примерный скрипт, который позволял бы вернуть в стринговую переменную текст страницы обрабленный тегами h1.

Текст в котором нужно искать h1 обрамлен тегами <div id="txt"> </div>

Т.е. грубо говоря есть хтмл страница типа:

<div id="txt">

<h1>Нужно вернуть вот этот текст в переменную</h2>

</div>

B~Vladi 14.08.2009 16:42

Цитата:

Сообщение от andikk
<h1></h2>

Видимо опечатка?!

Так чтоли:
var StringVar=document.getElementById('txt').getElementsByTagName('h1')[0].firstChild.nodeValue;

Gvozd 14.08.2009 16:46

var h1s=document.getElementById('txt').getElementsByTagName('h1');
var h1_strings=[];
for(var i=0;i<h1s.length;i++){
h1_strings[i]=h1s[i].innerHTML;
}

в h1_strings будет содержатся массив всех строк содержащихся во всех H1 внутри <div id="txt">.
Если таковых только один, то только один элемент и будет(h1_strings[0])

andikk 14.08.2009 16:53

Ух ты работает! Спасибо!
Еще был бы безмерно благодарен если бы подсказали как заменить содержимое тега <title> полученным значением переменной.

Попытался просто в <title> всттавить код
<SCRIPT>
var StringVar=document.getElementById('txt').getElemen tsByTagName('h2')[0].firstChild.nodeValue;
document.write(StringVar);
</SCRIPT>

но что-то в заголовке пишется код программы а не значение StringVar

andikk 14.08.2009 16:57

Не совсем правильно описал нужно в тег <title> зменить на текст
StringVar + <!--#include file="title.html" -->

B~Vladi 14.08.2009 17:00

document.title=document.getElementById('txt').getElementsByTagName('h2')[0].firstChild.nodeValue;

B~Vladi 14.08.2009 17:02

Цитата:

Сообщение от andikk
Попытался просто в <title> всттавить код

Как вы собираетесь получать значение того, чего нет?!

andikk 14.08.2009 17:09

document.title=document.getElementById('txt').getE lementsByTagName('h2')[0].firstChild.nodeValue;

всё получилось, с помощью этого кода.
Огромное спасибо.

Теперь у меня уникальные заголовки для всех страниц сайта.
Надеюсь это больше понравится поисковикам.
Правда иногда заментно, что подмена осуществляется, чуть моргнет заголовок, надеюсь это не повредит индексации"

Еще раз спасибо.

Gvozd 14.08.2009 17:16

andikk,
если вы так парились только из-за поисковиков, то зря.
гарантии, что они выполнят этот код - ноль.
скорее всего они вообще не смогут учестть этот факт
поэтому заголовки надо менять при генерации документа на сервере.
я уж не говорю о том, что ИМХО title страницы мало будет влиять на индексацию

andikk 14.08.2009 17:19

Да, пожалуй Вы правы, в исходнике страницы все равно не сформированный скриптом заголовок.

Насколько title влияет на индексацию я сужу по памятки для веб-мастеров от гугла, там они рекомендуют делать для каждой страницы уникальны заголовок....


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