Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Кол-во материалов с id="1" и id="2" - число (https://javascript.ru/forum/misc/18581-kol-vo-materialov-s-id%3D-1-i-id%3D-2-chislo.html)

uExpo 07.07.2011 13:41

Кол-во материалов с id="1" и id="2" - число
 
Подскажите:

На странице /x/ есть материалы они разделены на два вида:

с Идентификатором 1 и 2

<div id="1">материал</div>
<div id="2">материал</div>
<div id="1">материал</div>
<div id="2">материал</div>
...


А на страницу /x1/ требуется вывести их кол-во в виде:

материалы 1: <число>
материалы 2: <число>

melky 07.07.2011 13:46

элемент с ИДом должен быть уникальным...

ну раз так уж хочется, то...

<div id="1">материал 1</div>
<div id="2">материал 2</div>
<div id="1">материал 1</div>
<div id="2">материал 2</div>
<div id="1">материал 1</div>
<div id="2">материал 2</div>
<div id="1">материал 1</div>
<div id="1">материал 1</div>
<div id="2">материал 2</div>
<div id="1">материал 1</div>
<div id="test">материал test</div>
<div id="test">материал test</div>
...
<script>
var ids = [ '1', '2','test' ]

var materials = (function(ids){ 
    var a = document.getElementsByTagName('div'),
        mat={};
    
    for( var i=0;i<ids.length;i++) mat[ ""+ids[i] ]=0;

    for(var i=0;i<a.length;i++){
        
           if ( a[ i ].id in mat ) mat [ a[i].id ]++
    }

return mat;
})(ids);


document.write("<br> Вывод : <br>"+( ["id=TEST : "+materials['test'], "id=1 : "+materials['1'], "id=2 : "+materials['2'] ].join("<br>") ))
</script>

uExpo 07.07.2011 13:54

Не напишите вывод кол-во материалов в виде текста без alert
Цитата:

Сообщение от melky
alert( [ materials.one, materials.two].join("\n")  )


как будет выглядеть просто на странице если вставить код в HTML

Материалов 1: <кол-во>
Материалов 2: <кол-во>

melky 07.07.2011 13:59

это уже сами. у вас уже есть расширяемый код

uExpo 07.07.2011 14:00

Thanks


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