<html>
<head>
<script type="text/javascript">
function find(hidden_id) {
var f = document.getElementById('layer').childNodes;
for (var i=0; i<f.length; i++){
if(f[i].className == hidden_id){
f[i].style.visibility = "hidden";
}
else{
f[i].style.visibility = "visible";
}
}
}
</script>
</head>
<body>
<input id="but1" type="button" value="Убрать 1" onclick="find('c1')" />
<input id="but2" type="button" value="Убрать 2" onclick="find('c2')" />
<input id="but3" type="button" value="Убрать 3" onclick="find('c3')" />
<input id="but4" type="button" value="Убрать 4" onclick="find('c4')" />
<div id="layer" style="padding-top: 20px; padding-left: 40px;"><p class="c1">100</p><p class="c2">110</p><p class="c3">120</p><p class="c4">130</p><p class="c1">140</p><p class="c2">150</p><p class="c3">160</p><p class="c4">170</p></div>
</body>
</html>
Мне честно говоря очень лень разбираться, но если я правильно понял что должно делаться, то так это делать намного проще. Этот способ будет работать только если между </
p><p class= не будет пробелов или других символов иначе childNodes (f[i]) нужно проверять на <p>