Роман Ч.
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'.href = '/upload/2.png'

З.Ы. из-за того, что пришлось встать в 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(). И потом в цикле по этому массиву пройтись.