Javascript-форум (https://javascript.ru/forum/)
-   Prototype & script.aculo.us (https://javascript.ru/forum/prototype-script-aculo-us/)
-   -   Вывод div на экран (https://javascript.ru/forum/prototype-script-aculo-us/14044-vyvod-div-na-ehkran.html)

Raik 26.12.2010 02:33

Вывод div на экран
 
Имеется блок <div> такого вида:

<div id="forData" style="display:none">

<div id="Toshiba_Satellite" about="#laptop" class="file laptop" typeof="gr:Offering">
<span property="dc:title">Toshiba Satellite</span>
<span property="rdfs:screen">15"</span>
<span property="rdfs:cpu">Intel Celeron Dual Core T3300</span>
<span property="rdfs:mem">2Gb</span>
<span property="rdfs:dimensions">383*259*27мм</span>
<span property="rdfs:battery">Литий-ионная</span>
<span property="rdfs:wrnt">1 год</span>
<span property="commerce:amount" datatype="xsd:decimal">3900 грн</span>
</div>

</div>

Как, зная название атрибута class, вывести значения span?

Vulkan 26.12.2010 08:18

<script type="text/javascript">
window.onload=function(){
var div = document.getElementsByClassName('file laptop')[0];
var spans = div.getElementsByTagName('span');
for(i=0; i<spans.length; i++) alert(spans[i].innerHTML)
}
</script>


<div id="forData" style="display:none">
<div id="Toshiba_Satellite" about="#laptop" class="file laptop" typeof="gr:Offering">
<span property="dc:title">Toshiba Satellite</span>
<span property="rdfs:screen">15"</span>
<span property="rdfs:cpu">Intel Celeron Dual Core T3300</span>
<span property="rdfs:mem">2Gb</span>
<span property="rdfs:dimensions">383*259*27мм</span>
<span property="rdfs:battery">Литий-ионная</span>
<span property="rdfs:wrnt">1 год</span>
<span property="commerce:amount" datatype="xsd:decimal">3900 грн</span>
</div>
</div>

Raik 26.12.2010 14:29

Все равно не выводится. Я так понимаю, что из-за того, что присутствует дерево такого вида:
<div id="forTree">
<ul id="tree">
  <li class="comp">
    <span class="handle"></span>
    <a> Компьютеры</a>
    <ul>
      <li onclick="EventOnLi(this.className)" class="file laptop"><a>Ноутбуки</a></li>
      <li onclick="EventOnLi(this.className)" class="file computer"><a>Компьютеры(сборки)</a></li>
    </ul>
  </li>
</ul>
</div>



Если его в коде нет, то все корректно выводится:)
Пробовал менять
var div = document.getElementsByClassName('file laptop')[0];

на
var div = $('forData').getElementsByClassName('file laptop')[0];

ничего не меняется

Vulkan 26.12.2010 14:48

Вот так должно работать, если конечно элемент с id="forData" у вас на странице один.
<script type="text/javascript">
window.onload=function(){
var div = document.getElementById('forData').getElementsByClassName('file laptop')[0];
var spans = div.getElementsByTagName('span');
for(i=0; i<spans.length; i++) alert(spans[i].innerHTML)
}
</script>


<div id="forData" style="display:none">
<div id="Toshiba_Satellite" about="#laptop" class="file laptop" typeof="gr:Offering">
<span property="dc:title">Toshiba Satellite</span>
<span property="rdfs:screen">15"</span>
<span property="rdfs:cpu">Intel Celeron Dual Core T3300</span>
<span property="rdfs:mem">2Gb</span>
<span property="rdfs:dimensions">383*259*27мм</span>
<span property="rdfs:battery">Литий-ионная</span>
<span property="rdfs:wrnt">1 год</span>
<span property="commerce:amount" datatype="xsd:decimal">3900 грн</span>
</div>
</div>


Часовой пояс GMT +3, время: 10:12.