Javascript, динамическая подмена url
762 сообщения
#15 лет назад
Туплю.в общем есть конструкция:
<a rel="lightbox-tour" name="theBigHref" href="/upload/1.png">
<img name='theBigImage' src="/upload/tr/1.png">
</a>
<a href="#" onClick="java script:document.theBigImage.src = '/upload/tr/2.png'; document.theBigHref.href = '/upload/2.png'"><img src="/upload/tr/mini/2.png" border="0" alt=""></a>
вот туплю как раз над тем, как передать значение href в ссылку theBigHref.
3195 сообщений
#15 лет назад
Это как бэ ролловер батон вы хотите сделать? Мусье знает толк в ... (с)<img id='theBigImage' src="/upload/tr/1.png">
javascript:document.theBigImage.src = '/upload/tr/2.png';
или GetById нужно использовать.
ps: прошу прощения за мой английский, а в кодировании ни в зуб ногой.
762 сообщения
#15 лет назад
AlekartRu, подмена картинок - это понятно, там можно и name и id, во только нужно по мимо того, что картинку подменить, нужно подменить url у ссылки обрамляющей основную картинку...
3195 сообщений
#15 лет назад
Как вариант: онклик=функция {
если src=1, то location.href=1
если src=2, то location.href=2
}
762 сообщения
#15 лет назад
Кому интересно, то всё решается просто:меняем name="theBigHref" на id="theBigHref" в ссылке,
а в вызове вместо document.theBigHref.href = '/upload/2.png'
прописываем document.getElementById('theBigHref'

З.Ы. из-за того, что пришлось встать в 5 утра - туплю

132 сообщения
#15 лет назад
С jquery:$('img).attr('src', ']http://host.com/img.jpg');
без jquery:
<img id="theBigImage" name="theBigImage" ...
document.getElementById('theBigImage').src = "http://host.com/img.jpg";
94 сообщения
#15 лет назад
Цитата ("rech"):Кому интересно, то всё решается просто:
меняем name="theBigHref" на id="theBigHref" в ссылке,
а в вызове вместо document.theBigHref.href = '/upload/2.png'
прописываем document.getElementById('theBigHref'.href = '/upload/2.png'
З.Ы. из-за того, что пришлось встать в 5 утра - туплю
ну зачем что то менять, если js может работать как с name так и с id
пожалуйста:
<html><head></head>
<body>
<a rel="lightbox-tour" name="theBigHref" href="/upload/1.png">
<img name="theBigImage" src="/upload/tr/1.png" />
</a>
<a href="#" onClick="document.all.theBigImage.src = '/upload/tr/2.png'; document.all.theBigHref.href = '/upload/2.png'">
<img src="/upload/tr/mini/2.png" border="0" alt=""></a>
</body>
</html>
3240 сообщений
#15 лет назад
Цитата ("TheBuCeFaL"):ну зачем что то менять, если js может работать как с name так и с id
"JS может работать" где, в каком браузере? Например, если будете так делать, то в Safari 4.x или в Google Chrome 4.x работать не будет, а в FireFox 3.0.x хоть и будет работать, но при этом в консоль будет сыпать сообщениями вида: "Warning: Non-standard document.all property was used. Use W3C standard document.getElementById() instead.".
Так что, пожалуйста, не давайте таких советов вместе с такими как у Вас примерами кода, если, конечно, не только лишь под IE или Opera проект делаете. Следуйте спецификациям.
94 сообщения
#15 лет назад
Цитата ("tvv"):Цитата ("TheBuCeFaL"):ну зачем что то менять, если js может работать как с name так и с id
"JS может работать" где, в каком браузере? Например, если будете так делать, то в Safari 4.x или в Google Chrome 4.x работать не будет, а в FireFox 3.0.x хоть и будет работать, но при этом в консоль будет сыпать сообщениями вида: "Warning: Non-standard document.all property was used. Use W3C standard document.getElementById() instead.".
Так что, пожалуйста, не давайте таких советов вместе с такими как у Вас примерами кода, если, конечно, не только лишь под IE или Opera проект делаете. Следуйте спецификациям.
более ранними версиями Opera, ie,FF - действительно не проверял. Но все же IE 8 - без проблем, как и FF 3,6 (консоль ошибок молчит) и Opera 10. Ну раз консорциуму не нравится по имени, будем по ID.
можно тогда вопрос, бывают элементы с 1 name к примеру те же radio их большое количество. Исходя из того что id уникальный идентификатор, как снять выделение (или любая другая задача) со всех элементов input
я бы, конечно, решил такую задачу благодаря for - document.all.NameOfEl.length но как решить такую задачу - getElementById() ?
3240 сообщений
#15 лет назад
Цитата ("TheBuCeFaL"):можно тогда вопрос, бывают элементы с 1 name к примеру те же radio их большое количество. Исходя из того что id уникальный идентификатор, как снять выделение (или любая другая задача) со всех элементов input
я бы, конечно, решил такую задачу благодаря for - document.all.NameOfEl.length но как решить такую задачу - getElementById() ?
Через document.getElementById() тоже можно, если в цикле перебирать document.getElementById("name" + i). Только это некрасиво, и избыточно, плюс придется всем radio элементам ставить id="name1", id="name2" и т.д.
Стандартный и рекомендуемый способ (хотя и не во всех случаях) — получить массив элементов по name через getElementsByName(). И потом в цикле по этому массиву пройтись.