Autor | Zpráva | ||
---|---|---|---|
Jack Finger Profil |
#1 · Zasláno: 21. 1. 2008, 06:35:07 · Upravil/a: Jack Finger
Nazdar,
mám na webu skript, který má za úkol vybrat všechny <div>y na stránce, projít nimi v cyklu a jestliže id <div>u začíná na JQueryWindow_, pak se pokusit jej skrýt. Problém je již při začátku cyklu. Chybová konzola (Firebug) mi hlásí divs[j] has no properties na řádku s alert-em (když jej oddělám, tak u if() ), ale alert() sám o sobě vyhodí správně id všech <div>ů. Kde by mohla být chyba? Díky. var divs = document.all.tags["div"]; for(j = 0; j <= divs.length; j++){ alert(divs[j].id); if(divs[j].id != null){ var now = divs[j].id; if(now.substr(0,13) == 'JQueryWindow_'){ var actually = divs[j]; jQuery(actually).hide("slow"); } actually = ''; now = ''; } } stránka: http://www.about.dta3.com/pws/jack_finger/clanky.html při kliknutí na "popis článku" |
||
zbystr Profil * |
#2 · Zasláno: 21. 1. 2008, 08:02:47
var div = document.getElementsByTagName('div');
for (i=0; i<div.length; i++) { if(div[i].substr(0,13) == 'JQueryWindow_') { jQuery(div[i]).hide("slow"); } } Snad jsem se nekde neprepsal |
||
zbystr Profil * |
#3 · Zasláno: 21. 1. 2008, 08:04:04
trocha estetiky
var div = document.getElementsByTagName('div'); for (i=0; i<div.length; i++) if(div[i].substr(0,13) == 'JQueryWindow_') jQuery(div[i]).hide("slow"); |
||
peta Profil |
#4 · Zasláno: 21. 1. 2008, 08:22:49
zbystr
var div = document.getElementsByTagName('DIV'); // pro jistotu, IE tusim pouziva velke pismena a muze a nemusi fungovat |
||
zbystr Profil * |
#5 · Zasláno: 21. 1. 2008, 08:24:49
jede to i s malymi
|
||
Chamurappi Profil |
#6 · Zasláno: 21. 1. 2008, 09:59:48
Reaguji na Jacka Fingera:
„for(j = 0; j <= divs.length; j++)“ Jakmile nastane situace, že se j == divs.length, pak se divs[j] nachází undefined a to nemá žádné vlastnosti. Odmaž rovnítko. Reaguji na zbystra: „div[i].substr(0,13)“ Vypadlo ti id. Objekt <div> nemá metodu substr. Reaguji na petu: Kam na tyhle bláboly chodíš? Všechny prohlížeče používají v HTML DOMu pro názvy elementů velká písmena, ale hledat umí i podle malých, Explorer nevyjímaje. |
||
zbystr Profil * |
#7 · Zasláno: 21. 1. 2008, 10:32:56
Chamurappi:
jj prepsal jsem se peta: velke pismena maji roli, pokud by jsi chtel porovnat daneho DOM elementu nodeName if (elemnet.nodeName == 'DIV') .... |
||
ah01 Profil |
#8 · Zasláno: 21. 1. 2008, 11:04:14
Jack Finger
Ty na stránce používáš jQuery a přesto se moříš s takovýmto skriptem, nechápu. Zřejmě moc o jQuery nevíš a používáš ho jen na efekty. Doporučuji ti, si jQuery prostudovat (http://jquery.com). Ušetříš si takové práce... Např. celý ten tvůj skript co se tady řeší, jde naspat pomocí jQuery takto: $("div[id^=JQueryWindow_]").hide("slow"); ostatní to si toho nikdo nevšiml? |
||
zbystr Profil * |
#9 · Zasláno: 21. 1. 2008, 11:24:49
ah01: jj vsiml, ale jQuery nepouzivam, mam radeji Mootools :)
|
||
Jack Finger Profil |
#10 · Zasláno: 21. 1. 2008, 14:40:37
ah01
oj, mohlo mě napadnout, že to JQuery umí. omlouvám se, příště nejprve vytáhnu mozek z šuplíku, rychleji jednám než uvažuju. ostatní díky |
||
Časová prodleva: 16 let
|
0