Autor | Zpráva | ||
---|---|---|---|
Charlie22 Profil * |
#1 · Zasláno: 17. 1. 2009, 16:12:26
Co je spatne na tomto zapisu. v jQuery 1.2.6 pracuje normalne v 1.3 bohuze :-( vymaze vse an jen prvni prvek.
<script type="text/javascript" src="js/jquery-1.3.min.js"></script> <script type="text/javascript"> $(function(){ $('#menu li a:first-child').remove(); }); </script> </head> <body> <ul id="menu"> <li><a href="index.php">Home</a></li> <li><a href="rules.php">Rules</a></li> <li><a href="#">Pilots</a></li> <li><a href="#">Briefing</a></li> <li><a href="#">IGC</a></li> <li><a href="#">Results</a></li> <li><a href="#">Forum</a></li> </ul> </body> </html> |
||
Str4wberry Profil |
#2 · Zasláno: 17. 1. 2009, 17:31:44
Pokud bych na to šel logikou CSS, tak:
$('#menu li:first-child').remove(); |
||
Charlie22 Profil |
jo, tohle funguje..proc podle logiky je selector "a" nadbytecny?? Jak vyberu tedy prvni link, pokud polozka Home bude bez odkazu??
|
||
Str4wberry Profil |
#4 · Zasláno: 17. 1. 2009, 19:39:04 · Upravil/a: Str4wberry
Stačí se zamyslet nad tím, co dělá first-child:
„Je aplikován na všechny elementy, které jsou prvním dítětem (first child) jiného elementu.“ — praví článek na Intervalu Tvůj původní selektor tedy v každém <li> hledá první element <a>. Najde jej v první položce? Najde a odstraní. Najde jej v druhé? Najde a odstraní. Takto to bude až dokonce. Jak vybrat první <a>? Zřejmě takto: $('#menu a:first-child').remove(); |
||
Charlie22 Profil |
tak vyreseno:
$('#menu a:first') //vybere první link $('#menu li:first') //vybere první položku v seznamu diky vsem.. tak mi to nedalo a pripojil jse na officialni diskusni skupinu jQuery a nakonec to vypada, ze jsem objevil chybu v jQuery 1.3 jQuery forum jQuery Bug Tracker Moderátor Str4wberry: Své příspěvky můžeš měnit, čiň tak namísto vkládání několika za sebou v krátkém časovém sledu.
|
||
srigi Profil |
#6 · Zasláno: 18. 1. 2009, 01:41:02
Myslim, ze to nie je bug, Str4wberry-ho vysvetlenie jt IMO dovod, preco to odstranuje vo vsetkych polozkach zoznamu. Bug bol teda v 1.2.6.
|
||
Charlie22 Profil |
#7 · Zasláno: 18. 1. 2009, 09:38:59
přečti si bug tracker, viz link výše...je to definitivně chyba, která byla uz zminena v ticketu 3873. Jedná se o chybu v multi selectoru. Inak bych se rad dozvedel, co je na selectoru
#menu li a |
||
panther Profil |
#8 · Zasláno: 18. 1. 2009, 09:57:23 · Upravil/a: panther
Charlie22
„Inak bych se rad dozvedel, co je na selectoru #menu li a proti logice CSS???“ Nic, mělo by? Možná je tam nadbytečné „li“, pokud je #menu seznamem - jiný obsah než položku by obsahovat neměl. |
||
Charlie22 Profil |
#9 · Zasláno: 18. 1. 2009, 10:02:59
no pravda to sice je, ale pokud by seznam nemel ID a byl by jen obalenej DIVem?? tak bych to zapsal jak???
|
||
panther Profil |
#10 · Zasláno: 18. 1. 2009, 10:08:31
Charlie22
„tak bych to zapsal jak???“ stačí jen jeden otazník na konci „ale pokud by seznam nemel ID a byl by jen obalenej DIVem?“ a má cenu obalovat menu divem, když mu můžeš dát id a stylovat přímo jej? Pokud tam ten div mermomocí chceš, tak: div#menu ul a = div#menu ul li a |
||
Charlie22 Profil |
#11 · Zasláno: 18. 1. 2009, 10:13:57
za otazníky na víc se omlouvám, ale zrovna mi přišla nová zásilka :-)
Já myslím, že taková situace muze klidně nastat, kdy potrebujes mit menu v DIVu, ale na druhé straně máš pravdu, že menu může mít vždycky svoje ID pro jednoduchost...diky za konzultaci |
||
Časová prodleva: 15 let
|
0