- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- [Jquery] Associazione errata, ma perchè?
-
[Jquery] Associazione errata, ma perchè?
Salve ragazzi, se scrivo:
$(window).load( function(){ $('a.panel').click(function () { var current = $(this).attr('href'); current = current.css('width', '800px'); return false; }); });
la console di firefox mi restitusce:
TypeError: current.css is not a function
[TABLE][TD][/TD]
[TD]current = current.css('width', '800px');[/TD]
[/TR]
[/TABLE]Come mai? Come dovrei scriverlo?
Grazie.
-
In teoria così:
$(this).css('width', '800px');
Ho usato $(this) e non $(current) perché credo tu voglia modificare la width del tag a, non del suo attributo href...
-
Praticamente ho più link così impostati:
<a href="#item1" class="panel">1</a> <a href="#item2" class="panel">2</a> <a href="#item3" class="panel">3</a> <a href="#item4" class="panel">4</a> <a href="#item5" class="panel">5</a> <div id="item1" class="item"> <div class="content">11111111111</div> </div> <div id="item2" class="item"> <a name="item2"></a> <div class="content">22222222222</div> </div> <div id="item3" class="item"> <a name="item3"></a> <div class="content">33333333333</div> </div> <div id="item4" class="item"> <a name="item4"></a> <div class="content">44444444444</div> </div> <div id="item5" class="item"> <a name="item5"></a> <div class="content">55555555555</div> </div>
Praticamente ho impostato tutti i div con class="item" su display:none, per cambiare in display:block il corrispondente div realizzato, come fare?
Grazie.
-
Ciao felino,
nella variabile current hai importato l'attributo HREF del tuo tag A. Il solo attributo HREF non può avere delle impostazioni CSS, quindi l'errore è giusto.
A che cosa vuoi cambiare la larghezza? Al link oppure al suo div corrispondente?
-
Al suo div corrispondente...
-
@felino said:
Al suo div corrispondente...
Perfetto, quindi la tua variabile current contiene, nel caso del primo oggetto, la stringa "#item1", "#item2", per il secondo e così via. La tua istruzione:
current = current.css('width', '800px');
diventa
$(current).css("width", "800px");
Per come l'avevi impostata prima, stavi cercando di cambiare la proprietà css dell'attributo href, non del div, ecco perché Firefox ti aveva loggato quell'errore in console.
-
Ottimo, adesso funzionata alla grande.
Grazie!