05.07.2010, 12:15
|
Интересующийся
|
|
Регистрация: 05.07.2010
Сообщений: 26
|
|
Получение данных из тега в массиве, как?
Добрый день.
Есть 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;
Но, нет, не вышло.
Подскажите, пожалуйста! А то нужно хранить динамечески подгружаемую информацию, а ее много, мне кажется удобнее всего ее хранить именно в массивах-тегах.
Спасибо.
|
|
05.07.2010, 12:17
|
|
.
|
|
Регистрация: 30.03.2010
Сообщений: 1,813
|
|
replace();
innerHTML
__________________
.
|
|
05.07.2010, 17:18
|
Интересующийся
|
|
Регистрация: 05.07.2010
Сообщений: 26
|
|
Вы не могли бы показать на моем примере, как это использовать? А то я не совсем понял, спасибо.
|
|
05.07.2010, 17:35
|
Профессор
|
|
Регистрация: 21.01.2010
Сообщений: 1,022
|
|
var HM = new Array();
HM[1] = "<name>Имя</name>";
HM[2] = "<name>Имя2</name>";
alert( HM[1].match(/>(.+?)</)[1] );
|
|
05.07.2010, 18:03
|
Интересующийся
|
|
Регистрация: 05.07.2010
Сообщений: 26
|
|
3 проблемы с этим кодом:
1) В IE вообще не работает.
2) Почему-то можно запустить только 1 раз, после обновления еще 1 раз и так до бесконечности, а мне нужно неограниченно раз без обновления страницы.
3) если дописать еще информации, вроде этого:
HM[1] = "<name>Имя</name><fam>Фамилия</fam><age>27</age>";
то не совсем понятно, как обратиться к следующим тегам.
Надеюсь на помощь, спасибо.
|
|
05.07.2010, 18:47
|
Профессор
|
|
Регистрация: 21.01.2010
Сообщений: 1,022
|
|
var HM = new Array();
HM[1] = "<name>Имя</name>";
var x = document.createElement('div');
x.innerHTML = HM[1];
alert( x.getElementsByTagName('name')[0].innerHTML );
|
|
05.07.2010, 19:00
|
Интересующийся
|
|
Регистрация: 05.07.2010
Сообщений: 26
|
|
Сделал так, но в 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;
}
|
|
05.07.2010, 22:01
|
|
Модератор Всея Форума
|
|
Регистрация: 14.05.2009
Сообщений: 4,021
|
|
Madd, что за бред ты вообще пишешь?
HTML нужно хранить не в массивах, а в HTML-виде.
Последний раз редактировалось B~Vladi, 05.07.2010 в 22:04.
|
|
05.07.2010, 22:04
|
Интересующийся
|
|
Регистрация: 05.07.2010
Сообщений: 26
|
|
HTML, CSS, PHP я знаю хорошо, изучать Яваскрипт у меня, к сожалению, времени нет, мне нужно срочно доделать сайт, именно поэтому я пишу на этот форум, в эту тему, если было бы время, я бы, разумеется, разобрался сам, но сроки сильно жмут.
Так что, все же надеюсь на какой-то готовый примерчик для меня, тем более прошу самое элементарное показать.
Кстати, скрипт не работает в IE, так как я не знаю Явы? Интересно, видимо душа ИЕ открывается только тем, кто познал Яву.. Я просто вставил предложенный мне код в ИЕ и сказал, что он там работать отказывается.
Заранее благодарен.
|
|
05.07.2010, 22:10
|
|
Модератор Всея Форума
|
|
Регистрация: 14.05.2009
Сообщений: 4,021
|
|
Во первых, как ты получаешь "динамически загружаемую информацию"? Ajax? Тогда получай её как responseXML и работай как с DOM.
|
|
|
|