{"id":904,"date":"2011-01-08T13:19:29","date_gmt":"2011-01-08T12:19:29","guid":{"rendered":"http:\/\/www.nielsgamborg.dk\/wordpress\/?p=904"},"modified":"2011-01-08T13:19:29","modified_gmt":"2011-01-08T12:19:29","slug":"setattribute-og-internet-explorer","status":"publish","type":"post","link":"https:\/\/nielsgamborg.dk\/wordpress\/programmering\/setattribute-og-internet-explorer.htm","title":{"rendered":"setAttribute og Internet Explorer"},"content":{"rendered":"<p>Hvis  du bruger JavaScript metoden setAttribute til at manipulere DOM\u2019en, skulle det v\u00e6re muligt  at tilf\u00f8je alle attributter til ethvert element i DOM\u2019en. Dette er dog  ikke tilf\u00e6ldet med Internet Explorer 7 og \u00e6ldre IE browsere, hvor du  hverken kan bruge style attributten eller class attributten.<\/p>\n<p>Den  gamle IE begrundelse for ikke at kunne tilf\u00f8je class attributten til DOM  elementer gennem setAttribute i IE 6 og IE7, var at class er et reserveret ord i JavaScript.<!--more--><\/p>\n<h3>Tilf\u00f8je class attribute i Internet Explorer<\/h3>\n<p>Hvis man vil tilf\u00f8je en class attribute i\u00a0 IE6 0g IE7\u00a0 kan man i stedet bruge:<\/p>\n<p>element.setAttribute(&#8216;className&#8217;,&#8217;minklasse&#8217;);<\/p>\n<p>Denne l\u00f8sning giver dog ekstra arbejde, da du s\u00e5 skal til at detektere, hvilken browsere, der bes\u00f8ger dit website, da ovenst\u00e5ende ikke giver nogen mening i hverken Firefox eller IE8. Der vil du f\u00e5 en attribut ved navn &#8216;className&#8217; og v\u00e6rdien &#8216;minklasse&#8217;.<\/p>\n<p>I stedet kan du bruge:<\/p>\n<p>element.className = &#8216;minKlasse&#8217;;<\/p>\n<p>Den h\u00e6fter class atributten p\u00e5 elementet, og samtidig med at den navngiver den. Og det virker cross browser.<\/p>\n<h3>Style attribute i Internet Explorer<\/h3>\n<p>Jeg  kender ikke begrundelsen for, hvorfor man ikke kan bruge style  attributten. Men hvis du har brug for at tilf\u00f8je en inline style med native JavaScript, kan du i stedet bruge .style syntaksen:<\/p>\n<p>element.style.cssText = styleText<\/p>\n<p>eller mere konkret:<\/p>\n<p>element.style.backgroundColor = \u201c#333333\u201d;<\/p>\n<p>Dnne metode vorker ogs\u00e5 p\u00e5 tv\u00e6rs af alle browsere. Du kan se en diskussion af emnet her:<\/p>\n<p><a href=\"http:\/\/www.quirksmode.org\/bugreports\/archives\/2005\/03\/setAttribute_does_not_work_in_IE_when_used_with_th.html\">http:\/\/www.quirksmode.org\/bugreports\/archives\/2005\/03\/setAttribute_does_not_work_in_IE_when_used_with_th.html<\/a><\/p>\n<h3>Add class og add style i jQuery<\/h3>\n<p>Hvis man bruger et JavaScript library vil dette selvf\u00f8lgelig h\u00e5ndtere browser forskelligheder for dig. I jQuery bruges .addClass(&#8220;min klasse&#8221;) for at tilf\u00f8je class&#8217;es og css metoden .css( &#8220;display&#8221;, &#8220;none &#8220;) for at tilf\u00f8je styles.<\/p>\n<p>Hvorfor s\u00e5 b\u00f8vle med det selv, n\u00e5r f.eks. jQuery fikser det s\u00e5 let? Hvis man kun skal bruge en enkelt eller 2 metoder fra jQuery kan man spare rigtig mange kilobyte og ikke mindst et ekstra http-request ved at g\u00f8re tingene selv. Og s\u00e5 er det da ogs\u00e5 meget sjovere.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hvis du bruger JavaScript metoden setAttribute til at manipulere DOM\u2019en, skulle det v\u00e6re muligt at tilf\u00f8je alle attributter til ethvert element i DOM\u2019en. Dette er dog ikke tilf\u00e6ldet med Internet Explorer 7 og \u00e6ldre IE browsere, hvor du hverken kan bruge style attributten eller class attributten. Den gamle IE begrundelse for ikke at kunne tilf\u00f8je [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[11],"tags":[],"_links":{"self":[{"href":"https:\/\/nielsgamborg.dk\/wordpress\/wp-json\/wp\/v2\/posts\/904"}],"collection":[{"href":"https:\/\/nielsgamborg.dk\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nielsgamborg.dk\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nielsgamborg.dk\/wordpress\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/nielsgamborg.dk\/wordpress\/wp-json\/wp\/v2\/comments?post=904"}],"version-history":[{"count":0,"href":"https:\/\/nielsgamborg.dk\/wordpress\/wp-json\/wp\/v2\/posts\/904\/revisions"}],"wp:attachment":[{"href":"https:\/\/nielsgamborg.dk\/wordpress\/wp-json\/wp\/v2\/media?parent=904"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nielsgamborg.dk\/wordpress\/wp-json\/wp\/v2\/categories?post=904"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nielsgamborg.dk\/wordpress\/wp-json\/wp\/v2\/tags?post=904"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}