Autor | Zpráva | ||
---|---|---|---|
slovakCZ Profil |
#1 · Zasláno: 7. 6. 2009, 16:28:24 · Upravil/a: slovakCZ
Dobry den,
chci se zeptat, proc mi tento script nefunguje, kde je chyba (pri nacteni stranky to ma automaticky "kliknout" na dany odkaz s tridou a)? kod: <html> <head> <script type="text/javascript"> function init(){ var linkPage = document.getElementByClassName('a').href; window.location.href = linkPage; } onload=init; </script> </head> <body> <div id="pokus"> <a href="5.html" id="nejake_id" class="a"> a zde odkaz </a> </div> </body> </html> ovsem nasledujici kod jiz funguje, proc to tedy nejde i podle ID <html> <head> <script type="text/javascript"> function init(){ var linkPage = document.getElementById('nejake_id').href; window.location.href = linkPage; } onload=init; </script> </head> <body> <div class="pokus"> <a href="5.html" id="nejake_id" class="a"> a zde odkaz </a> </div> </body> </html> Dekuji Vam za kazdou radu.. Tom |
||
Yur4Y Profil |
#2 · Zasláno: 7. 6. 2009, 16:49:11
getElementByClassName neexistuje. Existuje akurát getElementsByClassName, ale nepodporuje to IE. Navyše getElementById vracia priamo objekt daného elementu, zatiaľčo getElementsByClassName vracia pole objektov.
|
||
slovakCZ Profil |
#3 · Zasláno: 7. 6. 2009, 16:51:20
aha.. takze toto reseni, kdy by script mel automaticky po nacteni stranky kliknout na dany odkaz kde je trida odkazu napr "abc" (v ukazce "a") takto vyresit nepujde..
|
||
Yur4Y Profil |
#4 · Zasláno: 7. 6. 2009, 18:01:08
Môžete použiť toto:
<script type="text/javascript"> window.onload = function() { var odkazy = document.getElementsByTagName('a'); for (var i = 0, size = odkazy.length; i < size; i++) { if (odkazy[i].className == 'a') { //váš kód } } } </script> |
||
slovakCZ Profil |
#5 · Zasláno: 7. 6. 2009, 18:13:45
toto jsem nezkousel, zkusim to vecir az bude trocha casu, ala kamarad mi nasel funkcni reseni... vypadalo by asi nejak takto (pri nacteni stranky se v novem okne otevre stranka seznam.cz)
<html> <head> <script type="text/javascript"> function getElementClass(theClass) { var allPageTags = new Array(); var linkPage; var allATags=document.getElementsByTagName("a"); for (i=0; i<allATags.length; i++){ if (allATags[i].className==theClass) { linkPage = allATags[i].href; window.open(linkPage, 'nove'); } } } </script> </head> <body onload="getElementClass('nejaka_class');"> <div class="pokus"> <a href="http://www.seznam.cz" class="nejaka_class"> a zde odkaz </a> </div> </body> </html> |
||
Timy Profil |
#6 · Zasláno: 7. 6. 2009, 18:17:38
slovakCZ
Yur4Y Obě implementace jsou špatně, neberou v potaz, že v jeden prvek může mít dvě třídy class="jedna dva". Co na to použít jQuery? |
||
slovakCZ Profil |
#7 · Zasláno: 7. 6. 2009, 18:26:42
ja javascriptu nerozumim, obstarava mi vskere ukoly znamy, jenze neni nyni k dispozici proto jsem se ptal vas ;o) jinak reseni vyse mi bohate staci pro muj pripad, tridy nejsou nastesti dve :) jinak mrknu an to reseni s pouzitim jQuery, treba necemu priucim
|
||
Časová prodleva: 15 let
|
0