Avatar billede sw_red_6 Nybegynder
26. februar 2007 - 16:37 Der er 6 kommentarer og
1 løsning

sætte class med setAttribute virker ikke

jeg har følgende funktion og den virker næsten..

function  skift_overskrift(tekst) {
  var El = document.getElementById('stat_overskrift');
  while(El.hasChildNodes()) {
    El.removeChild(El.firstChild);
  }
  var newEl = document.createElement('p');
  newEl.setAttribute('class', 'overskrift_stat');
  var newTxtEl = document.createTextNode(tekst);
  El.appendChild(newEl);
  El.appendChild(newTxtEl);
  var newEl = document.createElement('br');
  El.appendchild(newEl);
  if(tekst=='Samlet Oversigt'){
    var newEl2 = document.createElement('p');
    newEl2.setAttribute('class', 'syn_pr_mnd');
    newEl2.className = 'syn_pr_mnd';
    var newTxtEl2 = document.createTextNode('Antal syn pr. måned');
    El.appendChild(newEl2);
    El.appendChild(newTxtEl2);
  }
}

jeg kan ikke få følgende til at virke..
  var newEl = document.createElement('br');
  El.appendchild(newEl);

og

newEl2.setAttribute('class', 'syn_pr_mnd');

Af en eller anden grund kan den ikke finde ud af at tilføje en <br> på den måde og derefter tilføje teksten..
og den kan heller ikke finde ud af setAttribute() som overskriften antyder

Nogen her der kan komme med et forslag til hvad der skal til for at få det til at virke??
Avatar billede softspot Forsker
26. februar 2007 - 18:41 #1
Der er forskel på om du tildeler class en værdi i IE og de andre browsere. Jeg mener at IE gerne vil have at du benytter className i stedet for class.

...og så er appendchild med stort C, altså El.appendChild(newEl);
Avatar billede sw_red_6 Nybegynder
27. februar 2007 - 09:06 #2
OK appendChild er rettet, men det gav ikke nogen forskel..

Og det med className er ikke nogen issue eftersom det ikke virker i FF2..
Jeg har også prøvet at bruge className men det virkede heller ikke, som du kan se i koden
newEl2.className = 'syn_pr_mnd';

Om det vil være anderledes hvis jeg bruger newEl2.setAttribute('className', 'syn_pr_mnd'); det har jeg ikke prøvet endnu..
Avatar billede sw_red_6 Nybegynder
27. februar 2007 - 13:22 #3
nåh jeg finder lige det nærmeste hul jeg kan gemme mig i.. det her er godt nok pinligt..
de nye txtnoder skulle appendes til de nye p-tags ikke til div-tagget udenom..
altså sådan her i stedet for:
function  skift_overskrift(tekst) {
  var El = document.getElementById('stat_overskrift');
  while(El.hasChildNodes()) {
    El.removeChild(El.firstChild);
  }
  var newEl = document.createElement('p');
  newEl.setAttribute('class', 'overskrift_stat');
  newEl.className = 'overskrift_stat';
  var newTxtEl = document.createTextNode(tekst);
  newEl.appendChild(newTxtEl);
  El.appendChild(newEl);
  var newEl = document.createElement('br');
  El.appendchild(newEl);
  if(tekst=='Samlet Oversigt'){
    var newEl2 = document.createElement('p');
    newEl2.setAttribute('class', 'syn_pr_mnd');
    newEl2.className = 'syn_pr_mnd';
    var newTxtEl2 = document.createTextNode('Antal syn pr. måned');
    newEl2.appendChild(newTxtEl2);
    El.appendChild(newEl2);
  }
}
Avatar billede sw_red_6 Nybegynder
27. februar 2007 - 13:23 #4
jeg lukker her..
Hvis du vil have point må du lige sige til..
Avatar billede softspot Forsker
27. februar 2007 - 13:49 #5
Nej tak, mine indspark var ikke med til at finde årsagen til dit problem. Ellers tak :)
Avatar billede olebole Juniormester
28. februar 2007 - 15:54 #6
<ole>

setAttribute("class", "gnu");
setAttribute("className", "gnu");

Så virker det i begge browsere - selvom der f.eks. i FF bliver sat en className-attribut, der ikke bruges til noget.
Det har været diskuteret i W3C-regi og FF er korrekt på den i dette tilfælde - men check lige, hvad IE7 gør  ;o)

/mvh
</bole>
Avatar billede sw_red_6 Nybegynder
01. marts 2007 - 10:22 #7
Jeg testede med IE7 og FF og det virkede ikke i IE7 uden className så der har de ikke ændret på noget, desværre
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester