

お世話になっております。
javascript、または何らかの方法で、特定の条件にあうHTML要素のCSSプロパティを一括で書き換える方法を探しております。
Dreamweaverを使っているのでビヘイビアでできないか試してみましたが、ID単位で要素を扱うので複数のレイヤーを同時に表示・非表示することはできないようでした。
以下、やりたいことの一例です。下記のように、ボタンを押すとその条件に合わないclassの要素を「display:none」状態したいと考えています。
------------------------------------------------------------------
[イヌ表示ボタン] [ネコ表示ボタン] [両方表示ボタン]
<div class="dog">ダルメシアン</div>
<div class="cat">ロシアンブルー</div>
<div class="dog">柴犬</div>
<div class="dog">チワワ</div>
<div class="cat">シャム</div>
<div class="cat">ヒマラヤン</div>
<div class="cat"アビシニアン</div>
<div class="dog">ゴールデンレトリーバー</dog>
イヌ表示ボタンを押したときは、class="cat"がdisplay:noneになり、
のブラウザ上では犬だけがピックアップ表示される。
↓
<div class="dog">ダルメシアン</div>
<div class="dog">柴犬</div>
<div class="dog">チワワ</div>
<div class="dog">ゴールデンレトリーバー</dog>
------------------------------------------------------------------
実際にはボタンで操作するだけではなく、たとえば犬ページ、ネコページを同じコンテンツに更新し、ロードイベントだけ異なった記述をするだけで、それぞれのページに適切なコンテンツのみ表示をさせたりしたいと考えております。
恐れ入りますが、何卒、よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
『指定範囲内のdiv要素について、チェックして(表示/非表示)する』みたいなことでよいのでは?
class指定のないdivは常に(非表示/表示)とするのか、両方あると思いますがこんなのではどうでしょうか?
* load時は対象を指定して fuga() を実行するようなことでよいかと…
(全角空白は半角に)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>sample</title>
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/javascript">
<!--
function hoge(evt){
var t = evt.target || evt.srcElement;
if(t.nodeName=="BUTTON")
fuga(t.getAttribute("name"));
}
function fuga(str){
var div = document.getElementById("item_list").getElementsByTagName("div");
for(var i=0, d; d=div[i++];)
if(d.className){
var reg = new RegExp("(^|:)" + d.className + "(:|$)");
d.style.display = reg.test(str)?"block":"none";
}
}
//-->
</script>
</head>
<body>
<div onclick="hoge(event)">
<button type="button" name="dog">犬表示</button>
<button type="button" name="cat">猫表示</button>
<button type="button" name="dog:cat">犬猫表示</button>
</div>
<div id="item_list">
<div class="dog">ダルメシアン</div>
<div class="cat">ロシアンブルー</div>
<div class="dog">柴犬</div>
<div class="dog">チワワ</div>
<div class="cat">シャム</div>
<div class="cat">ヒマラヤン</div>
<div class="cat">アビシニアン</div>
<div class="dog">ゴールデンレトリーバー</div>
<div>クラス指定のない要素</div>
</div>
</body>
</html>
お礼遅くなりまして大変すみませんでした。
さらにお伺いしたいことがあったのですが、多忙で内容がまとまらず、今まで時間がかかってしまいました。
いろいろなサイトで勉強して、教えて頂いた方法を自分でも使いこなせるようになりました。が、jQueryという便利なものがあると知り、そちらを利用することにしました。
どうもありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- JavaScript 指定したパスが現URLに含まれていたら特定要素を削除するJavascriptのコードを教えてください 2 2023/04/27 17:58
- HTML・CSS flex の各子要素を横幅 100% にしたい 1 2022/09/22 21:25
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript 【Javascript】ボタンクリックで2つのclassに対し、それぞれ別のclassを追加したい 1 2022/07/29 20:52
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- PHP アップロードファイルの数に応じてCSSを動的に変更したいのですが、方法がわかりません 3 2023/07/23 21:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レイヤーの上下関係
-
Google マップ でKMLの情報が正...
-
jQueryで特定のcssプロパティの...
-
Galleriffic のレイアウトについて
-
ECサイトのリクエストパラメー...
-
最初の内容だけは、あらかじめ...
-
iframe内のスクリプトを親から3...
-
jQueryのSlickで矢印アイコンが...
-
jQueryでのロールオーバー処理
-
ブラウザの表示について
-
JavaScriptでCSSの変更
-
HTML5でのgoogle map api v3の
-
jQueryサンプルを使用したギャ...
-
【HP作成】 移動できる画像に...
-
JavaScriptのdiv.style属性の変...
-
javascriptで外部cssの値の変更
-
リンク付きスライドショーの不...
-
CSSのJavaScript参照
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
折りたたみを全て開いて別ペー...
-
確認ダイアログを次からは表示...
-
javascriptで複数の表示・非表...
-
特定の条件のHTML要素を一括で...
-
改行をしたいが、<br>と...
-
CSSでreadonlyの機能はあり...
-
macかwinか判別しスタイルシー...
-
SITEINFOの書き方について
-
ブラウザの表示領域から高さを...
-
vml フォントの大きさ変更
-
フォームで「パスワード(確認...
-
【JavaScript】検索がヒットし...
-
タイプライタ風の文字を真ん中...
-
jqueryを使ったスムーススクロ...
-
jQueryのCSSで値に変数を使う方法
-
webサイトに動画をはりつけ、ク...
-
年月日時分を指定してCSSを切り...
-
時間帯によってclass名を変更し...
-
2回目以降のページロード時には...
-
ブログパーツをレスポンシブ化...
おすすめ情報