Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > JavaScript: Общие вопросы > Не могу добраться до объекта |
Автор: vintyara 2.9.2007, 23:17 |
Проблему опишу в оооочень общих чертах. Есть страничка. Есть на ней несколько картинок (img). Есть некий JS. JS во время работы должен дёргать ту или иную картинку. Обращается он к ним примерно так: document.images[число].onmouseout(); (это пример). А на самой картинке уже уже прописано дейтсвие, которое будет выполнятся при onmouseout(). И вот, к сожалению, получилось так, что нужно мне все картинки засунуть в некую обвёртку, и дёргать их через неё. В качестве обвёртки выбрал <span>. Однако через него никак не могу добраться до картинки :( Пробовал примерно так: document.spans[0].elements[0].onmouseover(); document.spans[0].onmouseover(); Учитывая, что в JS я вообще ламир, может и пробовал я полный бред ![]() Добавлено через 4 минуты и 30 секунд ЗЫ getElementById не предлагать ! Мне нужен полный путь руками задавть :( |
Автор: Zeroglif 2.9.2007, 23:56 |
спан.childNodes[индекс] |
Автор: vintyara 3.9.2007, 08:27 |
Zeroglif, у меня не одна картинка. Соответственно будет не один спан с картинкой внутри. спан.chil... <- это точно правильно ? Потому что не работает :( Пишет - span is not defined (это при onclick="span.childNodes[0].onmouseover();") Ещё пробовал так - document.span has no properties (onclick="document.span.childNodes[0].onmouseover();") document.span has no properties (onclick="document.spans[0].childNodes[0].onmouseover();") |
Автор: Zeroglif 3.9.2007, 10:07 |
Ну, спан же тебе нужно как-то брать, например, document.getElementsByTagName('span')[индекс], это азы, проще в доку заглянуть, чем в форум слать вопрос. |
Автор: ranger_www 3.9.2007, 10:09 |
Дело в том, что когда ты используешь document.span такого элемента действительно нет. Потому что span есть только в таблице!!! Я предлагаю к каждому спану добавить имя. Вот код. <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title> <script type="text/javascript" language="JScript"> function test() { alert(document.getElementsByName("t").length); } </script> </head> <body onload="test();"> <span id="t1" name="t">test 1</span> <span id="t2" name="t">test 2</span> </body> </html> |
Автор: vintyara 3.9.2007, 10:28 |
проблема в том, что фишки, подобные этим - getElementsByName("t") - не работают. я пешу код под нестандартный браузер. он, собака такая, мало чего понимает в JS, и даже в CSS =( |
Автор: dsCode 9.9.2007, 16:39 | ||
vintyara,
Что за браузер такой? =) По поводу проблемы: проще задать каждому изображению id и брать getElementById("нужный_id"). И для span'ов так же. |
Автор: SelenIT 9.9.2007, 16:55 |
Name в этой задаче точно лишний (если уж что и задавать, так вправду id). vintyara, неужели getElementsByTagName (как Zeroglif предлагал) тоже не работает? ranger_www, судя по этой фразе, Вы не только в JS, но даже в HTML плаваете, так что нечего тут людей сбивать с панталыку. Еще одно подобное "авторитетное заявление" - точно от кого-нибудь минус получите... |