Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Получение данных из тега в массиве, как? (https://javascript.ru/forum/misc/10440-poluchenie-dannykh-iz-tega-v-massive-kak.html)

Madd 05.07.2010 12:15

Получение данных из тега в массиве, как?
 
Добрый день.

Есть HTML-Страничка, а внутри скрипт, в нем массив, допустим:
var HM = new Array();
HM[1] = "<name>Имя</name>";
HM[2] = "<name>Имя2</name>";


Вопрос: Как достучаться до "Имя" и "Имя2"?

Пробовал примерно так:
HM[1].getElementsByTagName('name')[0].childNodes[0].nodeValue;
HM[2].getElementsByTagName('name')[0].childNodes[0].nodeValue;

Но, нет, не вышло.

Подскажите, пожалуйста! А то нужно хранить динамечески подгружаемую информацию, а ее много, мне кажется удобнее всего ее хранить именно в массивах-тегах.

Спасибо.

Skipp 05.07.2010 12:17

replace();

innerHTML

Madd 05.07.2010 17:18

Вы не могли бы показать на моем примере, как это использовать? А то я не совсем понял, спасибо.

exec 05.07.2010 17:35

var HM = new Array(); 
HM[1] = "<name>Имя</name>"; 
HM[2] = "<name>Имя2</name>";

alert( HM[1].match(/>(.+?)</)[1] );

Madd 05.07.2010 18:03

3 проблемы с этим кодом:
1) В IE вообще не работает.
2) Почему-то можно запустить только 1 раз, после обновления еще 1 раз и так до бесконечности, а мне нужно неограниченно раз без обновления страницы.
3) если дописать еще информации, вроде этого:
HM[1] = "<name>Имя</name><fam>Фамилия</fam><age>27</age>";

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

Надеюсь на помощь, спасибо.

exec 05.07.2010 18:47

var HM = new Array(); 
HM[1] = "<name>Имя</name>";

var x = document.createElement('div');
x.innerHTML = HM[1];
alert( x.getElementsByTagName('name')[0].innerHTML );

Madd 05.07.2010 19:00

Сделал так, но в IE все равно не работает и по onmouseover вызывается лишь 1 раз, а вот проблему с тегами, та что номер 3 решили :)
function test(id) {
	if (id < 1) return;
	var x = document.createElement('div');
	x.innerHTML = HM[id];
	document.getElementById('shher').innerHTML = x.getElementsByTagName('name')[0].innerHTML;
	}

B~Vladi 05.07.2010 22:01

Madd, что за бред ты вообще пишешь?
HTML нужно хранить не в массивах, а в HTML-виде.

Madd 05.07.2010 22:04

HTML, CSS, PHP я знаю хорошо, изучать Яваскрипт у меня, к сожалению, времени нет, мне нужно срочно доделать сайт, именно поэтому я пишу на этот форум, в эту тему, если было бы время, я бы, разумеется, разобрался сам, но сроки сильно жмут.

Так что, все же надеюсь на какой-то готовый примерчик для меня, тем более прошу самое элементарное показать.
Кстати, скрипт не работает в IE, так как я не знаю Явы? Интересно, видимо душа ИЕ открывается только тем, кто познал Яву.. Я просто вставил предложенный мне код в ИЕ и сказал, что он там работать отказывается.

Заранее благодарен.

B~Vladi 05.07.2010 22:10

Во первых, как ты получаешь "динамически загружаемую информацию"? Ajax? Тогда получай её как responseXML и работай как с DOM.


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