Newsgroup: it.comp.lang.javascript
Titolo: Inserire un link dentro un DIV

Salve a tutti,
volevo fare in modo che cliccando su un link si possa cambiare il contenuto 
di un div e inserire eventualmente anche dei link
Per cambiare il testo di un div sto usando una funzione tipo
function cambiaTesto(objId,x,newText) {
  with (document) if (getElementById && ((obj=getElementById(objId))!=null))
    with (obj) innerHTML = unescape(newText);
}
Se devo inserire  un link invece di testo normale come devo procedere?
Grazie in anticipo 



beh, dato che usi innerHTML, direi nello stesso identico modo, con 
newText = "<a href= ...............>...</a>"
Se invece vuoi seguire un po' di più le regole del DOM, devi usare:
 - createElement per creare il tuo anchor
 
https://developer.mozilla.org/en/DOM/document.createElement
E uno dei vari metodi per inserire il nodo nel nodo parent (nel tuo 
esempio, il div): nella pagina sopra indicata c'è un esempio che usa 
insertBefore, altrimenti puoi usare appendChild:
 
https://developer.mozilla.org/En/DOM/Node.appendChild

 newText = "<a href= ...............>...</a>"
ciao
avevo già provato ad inserire il codice html ma non funziona, io ho dei link 
del tipo:
<a href="javascript://" onclick="cambiaTesto('contenitore','','nuovo testo 
bla bla')">cambia il testo del contenitore</a>
Se al posto di nuovo testo bla bla metto il codice <a href ecc non lo 
riconosce
Dopo do un occhio anche ai link che mi hai suggerito, per adesso buon pranzo 
:)
ciao 

 riconosce
Ci sarà qualche errore di virgolette, immagino ... Cosa dice la console 
errori di firefox?
(usa href="#", e onclick al termine metti un return false, così non 
scateni l'anchor)

 ha scritto nel messaggio 
news:ho7o4j$orh$2...@news.eternal-september.org...


in pratica se uso
<a href="#" onclick="cambiaTesto('contenitore','','"<a 
href="pippo.htm">pippo</a>"');return false;">cambia testo del 
contenitore</a>
la pagina non viene interpretata correttamente, infatti invece di vedere il 
link "cambia testo del contenitore" vedo questo:
---------
testo
cambia testo del contenitore pippo"');return false;">cambia testo del 
contenitore
--------- 

 ---------
esatto: problemi con le virgolette, devi sistemarle.
La console errori di firefox ti dovrebbe indicare esattamente dove sta 
l'errore, cosa dice?

 l'errore, cosa dice?
la console non dice nulla, in effetti il codice in se stesso non è errato, 
suppongo ci voglia una sintassi particolare per far "prendere" il link allo 
script 

 contenitore</a>
La butto lŕ... :-)
IMHO il segno ["] dovrebbe essere [\"].
E poi, serve davvero il segno ["] in: "<a href...</a>" ?
Infine, 'contenitore' č una stringa ("contenitore"), non una 
variabile (var contenitore='testo contenuto'), o sbaglio?
-- 
Saluti
Renato
 

 variabile (var contenitore='testo contenuto'), o sbaglio?
ciao renato, contenitore è un div, incollo tutto il codice così ci si
capisce meglio
--------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"
http://www.w3.org/TR/html4/loose.dtd
">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>prova</title>
<script type="text/javascript">
function cambiaTesto(objId,x,newText) { //v9.0
  with (document) if (getElementById && ((obj=getElementById(objId))!=null))
    with (obj) innerHTML = unescape(newText);
}
</script>
</head>
<body>
<div id="contenitore">testo</div>
<a href="#" onclick="cambiaTesto('contenitore','','"<a
href="pippo.htm">pippo</a>"');return false;">cambia testo del
contenitore</a>
   </body>
</html>
--------------------------------------------------

 [...cut...]
Non so perché, ma cosě funziona:
<a href="#" onclick="cambiaTesto('contenitore','','<a '+
'href=\'pippo.htm\'>pippo</a>');return false;">cambia testo 
del contenitore</a>
(Ovviamente, se č tutto in una riga: '<a href=\'pippo.htm\'>...)
-- 
Saluti
Renato
 

 del contenitore</a>
ecco si così va, era proprio una questione di sintassi particolare
ciao e grazie a tutti 

 contenitore</a>
Perché onclick=" ... " , quindi tutto ciò che è tra virgolette fa "parte" 
dell'onclick ... quindi non puoi usare le virgolette all'interno della 
stringa.

 all'interno della stringa.
Ah, č per questo che '<a href=\"pippo.htm\">pippo</a>' non funziona!
Chiarissimo, grazie!
-- 
Saluti
Renato