JavaScript初心者です。URLの末尾に含まれる文字列を名前にもつclassのstyleを変更したいです。
JavaScript初心者です。
URLの末尾に含まれる文字列を名前にもつclassのstyleを変更したいんですが。。
URLに含まれる文字列を名前にもつidのスタイル変更については解決したのですが、同様のことclassでもやりたいと考えています。
例えばURLの末尾が /index.html?AAA&BBB となっている場合、非表示だったAAAとBBBのdivを表示するということをやりたいです。
ソースは以下になります。
前半でURLの末尾を取得して、後半でclassのスタイルを書き換えているつもりです。それぞれでは動作するんですが、あわせると動作しません。自分はかなり初心者ですので、根本的な誤りがあるかもしれませんが、ご教授よろしくお願いします。
<html>
<head>
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>test</title>
<style type="text/css">
<!--
.AAA,.BBB,.CCC {
width:200px;
background-color:#ccc;
margin:10px;
display:none;
}
-->
</style>
<script language=javascript>
<!--
function changeStyle(){
var query = window.location.search.substring(1);
var search = query.split("&");
for (var i = 0; i < search.length; i++) {
var XXX = search[i];
}
var allElement = document.getElementsByTagName('*');
for (var j = 0; j < allElement.length; j++) {
if (allElement[j].className=='XXX') {
allElement[j].style.display = "block";
}
}
}
-->
</script>
</head>
<body onload=changeStyle();>
<div class="AAA">111</div>
<div class="AAA">222</div>
<div class="AAA">333</div>
<div class="BBB">444</div>
<div class="BBB">555</div>
<div class="CCC">666</div>
<div class="CCC">777</div>
</body>
</html>