/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Gem tekst i variabel
Fra : Thomas


Dato : 18-11-02 14:07

Jeg har noget tekst som er indlejret i et span tag med ID=tekst

<span id="tekst">
<ul><li>13:51 Coloplast vandt sag om medarbejderaktier </li>
<li> 13:31 Helveg og Tomasson med mod Deportivo </li></ul>
</span>

Den tekst ville jeg gerne gemme i en variabel:

<script language="JavaScript">
var tekstindhold = document.getElementById('tekst');
</script>

Men når jeg prøver at udskrive indholdet for jeg at vide at den er [object]
i stedet for ovenstående tekst?
Hvad gør jeg forkert?

Mvh.
Thomas



 
 
Chrisser (18-11-2002)
Kommentar
Fra : Chrisser


Dato : 18-11-02 14:23


"Thomas" <asd@asdeade.dk> skrev i en meddelelse
news:araor9$2rcn$1@news.cybercity.dk...
> Jeg har noget tekst som er indlejret i et span tag med ID=tekst
>
> <span id="tekst">
> <ul><li>13:51 Coloplast vandt sag om medarbejderaktier </li>
> <li> 13:31 Helveg og Tomasson med mod Deportivo </li></ul>
> </span>
>
> Den tekst ville jeg gerne gemme i en variabel:
>
> <script language="JavaScript">
> var tekstindhold = document.getElementById('tekst');
> </script>
>
> Men når jeg prøver at udskrive indholdet for jeg at vide at den er
[object]
> i stedet for ovenstående tekst?
> Hvad gør jeg forkert?
>
Du beder kun om objektet, så for at få fat i teksten skal der lidt mere
til...

Prøv med:
var tekstindhold = document.getElementById('tekst').innerText;
- den skulle returnere teksten uden tags.

Bruger du i stedet:
var tekstindhold = document.getElementById('tekst').innerHTML;
- så får du tekst med tags ( altså i dit tilfælde dine<ul> og <li> tags).

OBS: Skulle gælde fra IE4 og NN6


Chrisser




Thomas (18-11-2002)
Kommentar
Fra : Thomas


Dato : 18-11-02 15:37

ok. Tak!
Men når jeg anvender variabelen til at foretage et kald får jeg en
"unterminated string constant code=0"

<...........
onclick="MM_changeProp('tekst','','innerHTML',tekstindhold,'SPAN')">


function MM_changeProp(objName,x,theProp,theValue) { //v6.0
var tekstindhold = MM_findObj('tekst');
var obj = MM_findObj(objName);
if (obj && (theProp.indexOf("style.")==-1 || obj.style)){
if (theValue == true || theValue == false)
eval("obj."+theProp+"="+theValue);
else eval("obj."+theProp+"='"+theValue+"'"); (HER FEJLER DEN)

}
}

Når jeg indsætter præcis det samme kode vil den gerne æde den - dvs. MM
funktionen fungerer med alt andet end mit parameter

tekstindhold = '<ul><li>13:51 Coloplast vandt sag om medarbejderaktier
</li><li> 13:31 Helveg og Tomasson med mod Deportivo </li></ul>';

Kan det være noget meget whitespace og flere linier?


"Chrisser" <cbj@egdatainform.dk> wrote in message
news:arapmk$ecl$1@sunsite.dk...
>
> "Thomas" <asd@asdeade.dk> skrev i en meddelelse
> news:araor9$2rcn$1@news.cybercity.dk...
> > Jeg har noget tekst som er indlejret i et span tag med ID=tekst
> >
> > <span id="tekst">
> > <ul><li>13:51 Coloplast vandt sag om medarbejderaktier </li>
> > <li> 13:31 Helveg og Tomasson med mod Deportivo </li></ul>
> > </span>
> >
> > Den tekst ville jeg gerne gemme i en variabel:
> >
> > <script language="JavaScript">
> > var tekstindhold = document.getElementById('tekst');
> > </script>
> >
> > Men når jeg prøver at udskrive indholdet for jeg at vide at den er
> [object]
> > i stedet for ovenstående tekst?
> > Hvad gør jeg forkert?
> >
> Du beder kun om objektet, så for at få fat i teksten skal der lidt mere
> til...
>
> Prøv med:
> var tekstindhold = document.getElementById('tekst').innerText;
> - den skulle returnere teksten uden tags.
>
> Bruger du i stedet:
> var tekstindhold = document.getElementById('tekst').innerHTML;
> - så får du tekst med tags ( altså i dit tilfælde dine<ul> og <li> tags).
>
> OBS: Skulle gælde fra IE4 og NN6
>
>
> Chrisser
>
>
>



Chrisser (18-11-2002)
Kommentar
Fra : Chrisser


Dato : 18-11-02 15:56

"Thomas" <asd@asdeade.dk> skrev i en meddelelse
news:arau3m$ir$1@news.cybercity.dk...
> ok. Tak!
> Men når jeg anvender variabelen til at foretage et kald får jeg en
> "unterminated string constant code=0"
>
> <...........
> onclick="MM_changeProp('tekst','','innerHTML',tekstindhold,'SPAN')">
>
>
> function MM_changeProp(objName,x,theProp,theValue) { //v6.0
> var tekstindhold = MM_findObj('tekst');
> var obj = MM_findObj(objName);
> if (obj && (theProp.indexOf("style.")==-1 || obj.style)){
> if (theValue == true || theValue == false)
> eval("obj."+theProp+"="+theValue);
> else eval("obj."+theProp+"='"+theValue+"'"); (HER FEJLER DEN)
>
> }
> }
>
> Når jeg indsætter præcis det samme kode vil den gerne æde den - dvs. MM
> funktionen fungerer med alt andet end mit parameter
>
> tekstindhold = '<ul><li>13:51 Coloplast vandt sag om medarbejderaktier
> </li><li> 13:31 Helveg og Tomasson med mod Deportivo </li></ul>';
>
> Kan det være noget meget whitespace og flere linier?
>
>

Hvad bruger du x til ????
ingenting!
/Chrisser



Chrisser (19-11-2002)
Kommentar
Fra : Chrisser


Dato : 19-11-02 08:01

"Thomas" <asd@asdeade.dk> skrev i en meddelelse
news:arau3m$ir$1@news.cybercity.dk...
> ok. Tak!
> Men når jeg anvender variabelen til at foretage et kald får jeg en
> "unterminated string constant code=0"
>
> <...........
> onclick="MM_changeProp('tekst','','innerHTML',tekstindhold,'SPAN')">
>
>
> function MM_changeProp(objName,x,theProp,theValue) { //v6.0
> var tekstindhold = MM_findObj('tekst');
> var obj = MM_findObj(objName);
> if (obj && (theProp.indexOf("style.")==-1 || obj.style)){
> if (theValue == true || theValue == false)
> eval("obj."+theProp+"="+theValue);
> else eval("obj."+theProp+"='"+theValue+"'"); (HER FEJLER DEN)
>
> }
> }

Du kalder funktionen med 5 argumenter, men din funktion er erklæret til 4
argumenter.....

Dine argumenter skal stemme overens:

Ex. eval("obj."+theProp+"="+theValue);
Hvis jeg ser på dine argumenter bagfra, så sætter du obj.tekstindhold=SPAN.

Hvis du derimod fjerner 'SPAN' fra kaldet (= 4 argumenter tilbage) så bliver
det til obj.innerHTML=tekstindhold
- hvilket umiddelbart giver større mening..


Chrisser





Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste