dポイントプレゼントキャンペーン実施中!

素人ですので、質問がクリアでないかもしれませんが宜しく御願い致します。
<---A---><--B--><-C-><--D-->といった形で表示されているものを、例えばBとCを非表示にして
<---A---><--D-->のように表示する又はAとCを非表示にして
<--B--><--D-->といった形で表示出来ないでしょうか
<div class="A">A
<div class="B">B
<div class="c">C
<div class="d">D
以下やってみたのですが
<script type="text/javascript">
function hidden_Disp() {
document.getElementById("B").style.visibility = "hidden";
document.getElementById("C").style.visibility = "hidden";
}
</script>
でやってみましたが駄目です。
何卒宜しく御願い致します。

A 回答 (4件)

たとえばこんな感じでどうでしょう?



<style>
.hide{
visibility:hidden;
}
</style>
<script>
function hidden_Disp(a) {
var divs=document.getElementsByTagName("div");
for(var i=0;i<divs.length;i++){
var cn=divs[i].className;
cn=cn.replace(/(^|\s)hide(\s|$)/,'');
for(var j in a){
if(cn.match(new RegExp("(^|\s)"+a[j]+"(\s|$)"))){
cn=cn+" hide";
break;
};
}
divs[i].className=cn;
}
}
</script>
<div class="A">A</div>
<div class="B">B</div>
<div class="C">C</div>
<div class="D">D</div>
<div>E</div>
<input type="button" value="Hide A,C" onclick="hidden_Disp(['A','C'])">
<input type="button" value="Hide B,D" onclick="hidden_Disp(['B','D'])">
<input type="button" value="Hide A,B,C" onclick="hidden_Disp(['A','B','C'])">

この回答への補足

凄い動きました。厚かましいのですが、Hiddenでは前に詰まらないようです。style="display:none"にする方法をお教え下さるよう御願い致します。
何卒宜しく御願い致します。

補足日時:2010/04/05 11:25
    • good
    • 0

>、Hiddenでは前に詰まらないようです。

style="display:none"にする方法

意図的に詰まらないようにしているのかと思っていました。
やり方は単純で、
.hide{
visibility:hidden;
}
のところを
.hide{
display:none;
}
とするだけです。スクリプトじたいはいじる必要はありません。
    • good
    • 0
この回答へのお礼

出来ました。ありがとうございました。

お礼日時:2010/04/05 18:47

div で特定のクラス設定のあるものを非表示にしたいのなら、



function hidden(c) {
var i = 0, e, d = document.getElementsByTagName('DIV');
while(e = d[i++]) if (e.className.match(new RegExp('(^| )' + c + '( |$)'))) e.style.visibility = 'hidden';
}

みたいな感じ?
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2010/04/05 18:49

HTMLはいろいろおかしいです。



<div id="A">A</div>
<div id="B">B</div>
<div id="C">C</div>
<div id="D">D</div>

でやってください。
JavaScriptはhidden_Disp()をどうやって呼び出すかをさておけば、おかしくないです。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2010/04/05 18:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!