Autor | Zpráva | ||
---|---|---|---|
Lavka Profil |
#1 · Zasláno: 7. 5. 2012, 16:33:21
Dobrý den,
řeším tu několik dní takový problém týkající se nastavování CSSka javascriptem pomocí objektu získaného přes class. první uvedu HTML kód : <div style="width: 600px;background-color: blue;" id="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 id="div_id" style="width: 600px;background-color: green;"></div> <div class="div_class" style="width: 600px;background-color: red;"></div> /*funkce prozískání objektu pomocí class*/ 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; }; /*získání výšky provního objektu*/ var height = document.getElementById("parent").offsetHeight; /*přenesení víšky na objekt id*/ var div_id = document.getElementById("div_id"); div_id.style.height=height; /*přenesení výšky na objekt class*/ var div_class = getElementsByClass("div_class"); div_class.style.height=height; Takže budu rád když mi někdo pomůže. |
||
ShiraNai7 Profil |
#2 · Zasláno: 7. 5. 2012, 16:38:40
getElementsByClass() vrací pole s prvky, nikoliv jeden prvek, takže nastavení div_class.style.height = xxx by mělo skončit výjimkou, že div_class.style je null.
Možná takto: var div_class = getElementsByClass("div_class"); for(i in div_class) { div_class[i].style.height=height; } |
||
Chamurappi Profil |
#3 · Zasláno: 7. 5. 2012, 16:42:58
Reaguji na ShiraNaiho7:
Tento druh smyčky se na procházení polí nehodí, mohou se do ní připlést i metody rozšiřující Array.prototype .
Krom toho bych ještě dal var před i .
|
||
ShiraNai7 Profil |
#4 · Zasláno: 7. 5. 2012, 17:07:11
Lavka, Chamurappi:
var div_class = getElementsByClass("div_class"); for(var i = 0; i < div_class.length; ++i) { div_class[i].style.height=height; } |
||
Lavka Profil |
#5 · Zasláno: 7. 5. 2012, 17:08:49
Velmi děkuji za odpovědi (postup se cyklem funguje)
|
||
Časová prodleva: 11 let
|
0