Skip to Content

Почему в Опера не работает firstChild?

7 всего / 0 новых
Последнее
akkadites
Возмутитель спокойствия
Сообщения: 161
Бонусы: 94
Пол: Мужской
Группы: Блоггеры
Блог: читать!
Почему в Опера не работает firstChild?

Есть html-код:

<a id="id-of-a">
      <span>ancor</span> 
    </a>

нужно поменять "ancor" с javascript. вызов document.getElementById("id-of-a").firstChild.innerHTML даёт undefined в Опере. В IE работает. В Опере нужно document.getElementById("id-of-a").children[0].innerHTML
есть также другой код:

<li id="li-id"><a href="/#!/link">ancor</a></li>

в нём ancor можно поменять через firstChild. вопрос: почему к одним элементам firstChild возвращает ссылку на объект, а к другим нет? Кто-нибудь понимает?
------------
И ещё один вопрос: как иметь доступ к документу загруженному в IFRAME? надо воспользоваться его методами. Если беру document.frames("id-frame").document Опера мне запрещает, мол попытка доступа к защищённой переменной. пробовал через windows.parent и т.п. - не помогает.

__________________

TextSale.ru - Продажа/покупка уникального контента.

Сандер
Администратор
Сандер аватар
ГуруМодератор
Сообщения: 1944
Бонусы: 617
Пол: Мужской
Блог: читать!

А вот так не сработает?
getElementsByTagName("span")[0].innerHTML

FirstChild - он какой-то глючный...

akkadites
Возмутитель спокойствия
Сообщения: 161
Бонусы: 94
Пол: Мужской
Группы: Блоггеры
Блог: читать!

Сообщение от Сандер:
А вот так не сработает?
getElementsByTagName("span")[0].innerHTML

FirstChild - он какой-то глючный...


не сработает, поскольку в документе spano'в много. да я в принципе доступ к нему получил через children[0]. меня интересует почему firstChild не работает в некоторых случаях, в каких именно, в чём глюк заключается?
а по iframe ничего не можете предложить?

Сандер
Администратор
Сандер аватар
ГуруМодератор
Сообщения: 1944
Бонусы: 617
Пол: Мужской
Блог: читать!

ща... не сразу getElementsByTagName("span")
а document.getElementById("id-of-a").getElementsByTagName("span")

akkadites
Возмутитель спокойствия
Сообщения: 161
Бонусы: 94
Пол: Мужской
Группы: Блоггеры
Блог: читать!

getElementsByTagName - такой метод имеет только объект document, поэтому будет отдавать undefined.
ну ладно, нужно только тыкать когда что работает...
ещё такой вопрос есть, никак не могу выйти. очень нужна помощь. например код

<span>
  text1 <a href="url">ancor1</a>text2 <a target="_blank" 
href="url2">ancor2</a>.
     </span>

как на javascript, можно и с использованием jQuery, заменить части текста: text1, ancor1, text2, ancor2? innerText кажется только после события window.onload будет работать. $.text("newtext") тоже что-то не работает. У меня код исполняется после DOMContentLoaded?
---------
И если документ работает на jQuery и динамически меняется, как отслеживать появление новых элементов? Правильно ли отслеживать событие DOMNodeInserted?

__________________

TextSale.ru - Продажа/покупка уникального контента.

Сандер
Администратор
Сандер аватар
ГуруМодератор
Сообщения: 1944
Бонусы: 617
Пол: Мужской
Блог: читать!

Вот тут я, к сожалению, не помощник.
Так никогда и не поработал с jQuery.
Про синтаксис, конечно, читал, но без практики это не дело...

akkadites
Возмутитель спокойствия
Сообщения: 161
Бонусы: 94
Пол: Мужской
Группы: Блоггеры
Блог: читать!

Сообщение от akkadites:
например код
<span>
text1 <a href="url">ancor1</a>text2 <a target="_blank"
href="url2">ancor2</a>.
</span>

как на javascript ...


эту часть решил, может кому пригодится:

document.getElementsByTagName("span")[0].childNodes[0].
nodeValue="overwrite text1";
document.getElementsByTagName("span")[0].childNodes[1].
nodeValue="overwrite ancor1";
document.getElementsByTagName("span")[0].childNodes[2].
nodeValue="overwrite text2";
//childNodes - коллекция и элементов и текста внутри некоторого
//родителя, каждый доступный по порядковому номеру, как идут

__________________

TextSale.ru - Продажа/покупка уникального контента.

RSS-материал


Активные пользователи

ПользовательБонусы
Сандер617
Nefertity247
Tori242
robot201
Chief183
STAER140
faiters139
Mavarik121
akkadites94
staiki94