Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Изменить href через javascript (не работает)
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Изменить href через javascript (не работает)

Страниц (2): [1] 2 »
 

1. bestbios - 04 Ноября, 2013 - 22:50:35 - перейти к сообщению
CODE (html):
скопировать код в буфер обмена
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5. <script type='text/javascript'>
  6. var iCal = document.getElementById("aaa").href;
  7. var onew = iCal + '12345.html';
  8. document.getElementById("aaa").href = onew;
  9. </script>
  10. <a id="aaa" href="http://site.ru/">mylinktext</a>
  11. </body>
  12. </html>


не могу понять почему не работает замена href ссылки?
2. teddy - 04 Ноября, 2013 - 23:07:48 - перейти к сообщению
Потому что скрипт выполняется до загрузки DOM модели

Оберните JS код в
CODE (javascript):
скопировать код в буфер обмена
  1. window.onload = function(){
  2. //тут ваш код
  3. }
3. OrmaJever - 04 Ноября, 2013 - 23:56:43 - перейти к сообщению
или атрибут в body
CODE (htmlphp):
скопировать код в буфер обмена
  1. <body onload= "document.getElementById("aaa").href += '12345.html'">
4. bestbios - 05 Ноября, 2013 - 00:31:19 - перейти к сообщению
спасибо работает, а как заменить все ссылки на странице с id="aaa"? Сейчас заменяет только в первом теге.
5. teddy - 05 Ноября, 2013 - 00:42:34 - перейти к сообщению
CODE (javascript):
скопировать код в буфер обмена
  1. window.onload = function(){
  2.   var links = document.getElementsByTagName('A');
  3.     for(var i = 0; i < links.length; i++){
  4.       if(links[i].className == 'aaa'){
  5.         links[i].href += '12345.html';
  6.      }
  7.    }
  8. }

Id по стандартам должен быть один, замените его на class и используйте этот код для обретения счастья Улыбка
6. nerv - 05 Ноября, 2013 - 21:50:54 - перейти к сообщению
teddy
CODE (javascript):
скопировать код в буфер обмена
  1. if(links[i].className == 'aaa'){

а если классов несколько? )
7. teddy - 05 Ноября, 2013 - 23:48:48 - перейти к сообщению
nerv пишет:
а если классов несколько? )

bestbios пишет:
а как заменить все ссылки на странице с id="aaa"?

ему нужны были только aaa Улыбка если несколько, то можно использовать ||
8. DelphinPRO - 06 Ноября, 2013 - 07:14:34 - перейти к сообщению
teddy пишет:
ему нужны были только aaa если несколько, то можно использовать ||

ха-ха )
teddy, срочно изучи, что содержится в свойстве .className
9. teddy - 06 Ноября, 2013 - 11:11:46 - перейти к сообщению
DelphinPRO пишет:
teddy, срочно изучи, что содержится в свойстве .className

Я знаю что там находится)) просто тут похоже каждый по своему понял вопрос))

Имелось ввиду что если у ссылки А класс ааа, а у ссылки Б, класс ббб, тогда такое прокатит вполне
CODE (javascript):
скопировать код в буфер обмена
  1. if(links[i].className == 'aaa' || links[i].className == 'bbb')
10. nerv - 06 Ноября, 2013 - 11:26:15 - перейти к сообщению
http://learn[dot]javascript[dot]ru/play/iXiHf
http://learn[dot]javascript[dot]ru/style[dot][dot][dot]lasses#classname
11. IllusionMH - 06 Ноября, 2013 - 11:32:40 - перейти к сообщению
teddy, <a href="/" class="this example is broken">Hahaha!</a>
12. teddy - 06 Ноября, 2013 - 11:33:44 - перейти к сообщению
armancho7777777
я понял-понял... )

Изначально я хотел сказать так:
CODE (html):
скопировать код в буфер обмена
  1. <a href="#" class="aaa">link</a>
  2. <a href="#" class="bbb">link</a>

т.е если нужно изменить линки у ссылок с разными классами...
13. armancho7777777 - 06 Ноября, 2013 - 11:40:27 - перейти к сообщению
Я удалил своё сообщение, так как выше nerv уже ответил )
14. teddy - 06 Ноября, 2013 - 11:45:48 - перейти к сообщению
Раздули то как Не понял )))
Все прозрачно и понятно Улыбка Если одна ссылка имеет несколько классов то рассматриваем список классов как одну строку при сравнении, если нужно изменить много ссылок где разные классы но по одному, тогда используем ||

И я не удивлюсь если здесь ещё кто то кинет какую нибудь ссылку или придет с примером Улыбка)

П:С ничего против не имею, просто походу в этом топе меня просто не так поняли))
15. armancho7777777 - 06 Ноября, 2013 - 11:46:19 - перейти к сообщению
nerv пишет:
а если классов несколько? )

CODE (javascript):
скопировать код в буфер обмена
  1. if((new RegExp('\s*' + classSearch + '\s*')).test(links[i].className)){ ...

 

Powered by ExBB FM 1.0 RC1