Autor Zpráva
Lavka
Profil
Dobrý den,
mám tady takový malí problém ohledně strict doctypu, který omezuje javascriptu inline zápis csska. zde je javaccript code:
/*funkce pro získání pole class podle zadaného názvu*/    
function getElementsByClass(theClass){
  var elementArray = [];
  if (document.all){
    elementArray = document.all;
  }
  else{
    elementArray = document.getElementsByTagName("*");
  }
    var matchedArray = [];
     var pattern = new RegExp("(^| )" + theClass + "( |$)");

  for (var i = 0; i < elementArray.length; i++){
    if (pattern.test(elementArray[i].className)){
      matchedArray[matchedArray.length] = elementArray[i];
       }
  }        
    return matchedArray;
};


function copyHeight(parent,descendant) {    
    var parent = getElementsByClass(parent);
    for(var i = 0; i < parent.length; ++i) {
      var height = parent[i].offsetHeight;
    }
    
    var element = getElementsByClass(descendant);    
    for(var i = 0; i < element.length; ++i) {
      element[i].style.height=height;
    }
}
a zde zbytek html stránek:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8">
        /*vložený javascript víše*/
    </head>
    <body>
        <div style="width: 600px;background-color: blue;" class="parent">Lorem ipsum dolor sit amet, consectetur adipiscing elit. In vitae odio et nibh tincidunt malesuada. Nullam semper magna eget est facilisis euismod. Ut non risus non nisi lobortis molestie. Suspendisse feugiat dui eget nulla tincidunt non posuere nisl pharetra. Vestibulum suscipit elementum velit, id tempus lectus aliquam vel. Nullam lectus felis, ultricies sit amet hendrerit eget, rutrum a eros. Maecenas rhoncus lobortis auctor. Suspendisse ultrices massa id nulla fermentum mattis.</div>
        <div class="div_class" style="width: 600px;background-color: green;"></div>
        <div class="div_class" style="width: 600px;background-color: red;"></div>
        <script>
            copyHeight("parent","div_class");    
        </script>
    </body>
</body>
A právě u doctype nastává problém, když místo strictu dosadím transitional tak vše funguje jak má (výška prvního divu se překopíruje do dalších dvou), ale kdy je tam strict tak javascript napíše tak maximálně style="". Pokud vidíte řešení tohoto problému budu vám velmi vděčný.
_es
Profil
Lavka:
Treba uviesť aj jednotky CSS vlastností.
shaggy
Profil
Lavka:
Pokud vidíte řešení tohoto problému budu vám velmi vděčný.
Zmeň doctype na transitional a budeš to mať (sám si napísal, že to funguje).

Nepozeral som si celý tvoj kód (som na to moc unavený), ale nikde v tvojom kóde nevidím striktný doctype. Vidím tam iba doctype, ktorý ťa prepne do quirks módu.
Juricaj
Profil
Dovolil bych si (jako HTML a CSS kóder) také přispět do diskuze, děláme na projektu společně...
shaggy:
Webová stránka je tvořena jako ročníková práce do školy a je třeba splnit jistá kritéria, která nám byla předána a s tím souvisí nutnost dodržet striktní deklaraci. Využíváme na stránkách posuvník JScrollPane, který také přiděluje style určitým prvkům a striktní deklarace jej neovlivňuje, proto mám za to, že by to mělo být řešitelné (ovšem jak píšu výše, s javacriptem jsem zatím neměl tu čest).
Davex
Profil
Ve striktním módu si prohlížeč nedomýšlí jednotky u rozměrů, takže se musí uvádět, jak už psal _es.

element[i].style.height=height + "px";

Jinak si nejsem vůbec jist správností druhé funkce, protože je zbytečné procházet cyklem všechny prvky s třídou .parent, když se použije jen výška posledního z nich.
Lavka
Profil
Takže děkuji všem přispěvatelům za účast, funguje řešení s připojením řetězce "px".

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: