у меня есть цель менять некоторые параметры тегов в html коде. В настоящий момент успешно меняю, например путь к картинке вот так: html: HTML: <img name="imgname" src="path/to/image"> JavaScript [js] document.all["imgname"].src="new/path"; [/js] все нормально отрабатывает А вот так: html: HTML: <a name="hrefname" onclick="" href="path/to/script"> JavaScript [js] document.all["hrefname"].onclick="DoIt()"; [/js] не получается (((((( onclick - не переписывается ((( что не так я делаю? [/html]
document.all стар как мир. Доберитесь до элемента подходящими способами: http://javascript.ru/tutorial/dom/search
делаю так: html: HTML: <a name="hrefname" onclick="" href="path/to/script"> [js] document.getElementsByName("hrefname").onclick="DoIt()"; [/js] Не работает ((((( Хотя выше, конструкция с заменой имени картинки - работает нормально html: HTML: <img name="imgname" src="path/to/image"> JavaScript [js] document.all["imgname"].src="new/path"; [/js]
странность с document.all пока что получается так, что я вобще не могу добраться до события onklick оба варианта не работают. 1: [js] document.all["hrefname"].onclick="off"; [/js] 2: [js] document.getElementsByName("hrefname").onclick="off"; [/js] а вот путь картинки переписывается нормально по document.all в данный момент эта часть кода закомментирована, чтобы не мешать.
вобщем путем поступательных движений головы, заканчивающих неупругим ударом о монолитно-бетонное перекрытие (шероховатосью соответствующей СНИП 17255-72) несущего характера порядка 300 итераций с периодичностью 2-3 удара в минуту и длительностью соприкосновения до 0,003 секунды было установлено, что обоими способами [js]document.all["hrefname"].onclick="off";[/js] и [js]document.getElementsByName("hrefname").onclick="off";[/js] Можно подменить некоторые значения некоторых параметров тега ссылки. Такие как title, ame, id. Но некоторые, а особенно события (онклик в их числе) нельзя. На данный момент рассматриваю вариант помещения ссылки в блок, иннерХТМЛ-ом получать его содержимое (целиком всю ссылку со всеми параметрами), и заменять нужной ссылкой. Насколько это правильно, и есть ли еще вменяемые варианты действия?
__romka_ более правильным является не замена того, что находится в онклик, а вызов в онклик-е функции с передачей параметров. а уже внутри фукнции разруливать что делать, например, с помощью глобальной переменной, устанавливаемой в другой функции.
решение пришло неожиданно. сделал так. в ссылке OnClick="bla-bla" а потом, по ситуации заменяю: [js] document.body.innerHTML = document.body.innerHTML.replace('bla-bla', 'DoIt()'); [/js] и все