Aquí tienes un ejemplo completo. El script tenía un bug, asi que usa éste.
Código HTML:
Ver originalvar MAXIMA_ID = 10; // Puede ser mayor a las existentes, pero si es menor habrán elementos que no procese
var prefijoElemento = "producto_";
function selecciona(id) {
var o, j, s;
for (var i=0; i<MAXIMA_ID; i++) {
o = document.getElementById(prefijoElemento + i);
if (o) {
s = "none";
for (j=id.length - 1; j>=0; j--) {
if (i==id[j]) s = "block";
}
o.style.display = s;
}
}
}
<li><a href="javascript:selecciona([1]);">[1]
</a></li> <li><a href="javascript:selecciona([2]);">[2]
</a></li> <li><a href="javascript:selecciona([3]);">[3]
</a></li> <li><a href="javascript:selecciona([1,3]);">[1,3]
</a></li> <li><a href="javascript:selecciona([1,5]);">[1,5]
</a></li> <li><a href="javascript:selecciona([1,3,5]);">[1,3,5]
</a></li> <li><a href="javascript:selecciona([1,2,3,4,5,6,7]);">Todos
</a></li> <div id="producto_1">Uno
</div> <div id="producto_2">Dos
</div> <div id="producto_3">Tres
</div> <div id="producto_4">Cuatro
</div> <div id="producto_5">Cinco
</div> <div id="producto_6">Seis
</div> <div id="producto_7">Siete
</div>