お世話になっております。
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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
動画の上に広告をオーバーレイ...
-
確認ダイアログを次からは表示...
-
CSSでreadonlyの機能はあり...
-
特定の条件のHTML要素を一括で...
-
SITEINFOの書き方について
-
jQueryのSlickで矢印アイコンが...
-
折りたたみを全て開いて別ペー...
-
3重のクォーテーション
-
【JavaScript】検索がヒットし...
-
javascriptでcssを書き換える方法
-
「ご処理進めて頂きますようお...
-
VBAでループ内で使う変数名を可...
-
CloseとDisposeの違い
-
エクセルで、日付を入力すると...
-
Excelシート上のマクロを登録し...
-
【Excel】特定の文字を含むセル...
-
「PC Helpsoft Driver Updated...
-
エクセルVBAで、MsgBox やInput...
-
【エクセルのマクロ】クリップ...
-
switch の範囲指定
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Q&A掲示板の入力フォームに文字...
-
JavascriptでDom XSSの脆弱性対...
-
【JavaScript】検索がヒットし...
-
CSSでreadonlyの機能はあり...
-
JavascriptでXSSの脆弱性への対...
-
formのsubmitを押すとモーダル...
-
確認ダイアログを次からは表示...
-
特定の条件のHTML要素を一括で...
-
JavascriptのHTMLクラス表示に...
-
jQueryでのドラッグアンドドロ...
-
javascriptで複数の表示・非表...
-
jqueryを使ったスムーススクロ...
-
javascriptのエラーで質問です。
-
jqueryアコーディオンの上部の...
-
JavaScriptのdiv.style属性の変...
-
2回目以降のページロード時には...
-
改行をしたいが、<br>と...
-
jQueryのCSSで値に変数を使う方法
-
クリックすると、色が変わるよ...
-
動画の上に広告をオーバーレイ...
おすすめ情報