|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
[JavaScript] cambiare attributi di un tag
salve.
sto apprendendo un po' di programmazione web lato client (scripting JavaScript per il browser in sostanza) e mi ponevo l'obiettivo di cambiare un'immagine presente nella pagina quando ci si clicca sopra. il metodo getElementById dell'oggetto Document permette di trovare un oggetto Node (se non erro) che rappresenta un elemento della pagina, allora io ho pensato la mega-niubbata e ho fatto un tentativo pigrissimo, cosi tanto per: Codice:
<img id="immagine" src="1.png" alt="" onclick="document.getElementById('immagine').src = '2.png';"/> ![]() ci clicco sopra e l'immagine cambia, e funziona con tutti e tre i principali browsers: IE, FF e Chrome!! ![]() ora, il fatto che funzioni mi va benissimo anche se non me lo aspettavo ![]() sconfinatamente grazie! |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Certo, è così che si fa di norma: http://www.w3schools.com/js/js_ex_dom.asp → “Image Object” → “Change the src of an image” → http://www.w3schools.com/js/tryit.as..._dom_image_src
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
ottimo, questa informazione giá mi é utile, peró la mia domanda (espressa malissimo, mi scuso) era piu generale perché io volevo sapere se é standard fare questa cosa per qualunque attributo di qualunque tag.
per esempio, se invece che l'immagine di un tag <img> volessi cambiare il target di un link? posso sempre usare il nome dell'attributo come se fosse un campo dell'oggetto Node che trovo con getElementById? nel caso del link potrei scrivere una cosa come: Codice:
document.getElementByid("id del link").href = "nuovo link"; |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Che io sappia, sì: ad esempio, nel caso dell'anchor <a>:
http://www.w3schools.com/jsref/dom_obj_anchor.asp Ma comunque sia, c'è l'array attributes del generico oggetto HTMLElement che ti dovrebbe dare dinamicamente accesso agli attributi definiti in un elemento qualsiasi dell'albero DOM: http://www.w3schools.com/jsref/dom_obj_all.asp P.S.: il riferimento completo è in questa pagina: http://www.w3schools.com/jsref/default.asp
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
ok, grazie mille!
mi piacerebbe capire se il DOM definisce apposta nomi di attributi corrispondenti ai nomi degli attributi dei tag HTML o se esiste qualche specifica che dice che ogni nodo deve esporre sotto forma di campi tutti i suoi attributi, quindi attendo qualche altro parere. |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
In javascript un "Element" html è letteralmente un oggetto vero e proprio, gli puoi associare qualunque proprieta o funzione, per esempio:
Codice:
var div=document.getElementById("mydiv"); div.x=100; alert(div.x); //alert 100 // e se modifichi qualche proprietà che è anche un attirbuto html div.name="div_test"; // questo si rispecchierà nel codice html, quindi ora il tuo div ha l'attributo name settato Nello stesso sito trovi anche le references per lavorare con il DOM e con javascript in generale. |
![]() |
![]() |
![]() |
#7 | ||
Senior Member
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
|
Quote:
e contiene effettivamente tutti gli attributi di un tag <a>, mi pare. stessa cosa per tutte le altre interfacce analoghe. Quote:
|
||
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:12.