質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

1613閲覧

動的に生成された要素について@media screen and (min-width: XXpx)が効かない

pegy

総合スコア243

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2017/07/09 10:56

編集2017/07/09 12:00

目的:400px以下にwindow幅より大きい場合には@media screen and (min-width: 400px)によりdiv boxを横並びにし、それより小さいwindow幅の場合には、通常通り縦並びにdiv boxを表示させたいと考えております。
これについてjqueryを使用せずに通常のHTMLで生成した要素については
@media screen and (min-width: 400px)が機能し、400pxを境に、横並び及び
縦並びにうまくスイッチされます。

HTML

1<div id="box1" style="width:100px margin-bottom:10px";>A</div> 2<div id="box2" style="width:100px margin-bottom:10px";>B</div> 3<div id="box3" style="width:100px;>C</div> 4 5CSS> 6@media screen and (min-width: 400px) { 7#box1,#box2,#box3{ 8display:inline-block; 9}

問題点:実際には#box2及び#box3は#box1または#box2の選択肢により動的に生成される要素になります。この場合操作する前(デフォルトの状態)でwindow幅のサイズが400px以上の状態であれば@media screen and (min-width: 400px)で機能していますが、400px以下の状態で選択をしても縦並びにしかならず、どのようにwindow幅を変えても横並びにはなってくれません。
動的に生成された要素に対しても、@media screen and (min-width: 400px)を機能させるとは可能なのでしょうか?
また、windowサイズで一定の数値を境に縦並び、横並びを変化させたい且つ、動的に要素が生成されるような場合のやり方として、そもそも本件よりも適切な方法があればご助言をいただければ幸いです。

追記:

Javascript

1 2$(function(){ 3$('#bo2,#box3').hide(); 4$('#box1').on('DOMSubtreeModified propertychange',function(){ 5 var first = $('#box1').text(); 6 if (first=="XXX") { 7 $('#box2').show(); 8}) 9$('#box2').on('DOMSubtreeModified propertychange',function(){ 10var second = $('#box2').text(); 11if (second=="YYY") { 12 $('#box3').show(); 13} 14}) 15

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2017/07/09 11:13

「動的」部分も質問文に追記してください。
pegy

2017/07/09 11:27

コメントありがとうございます。加筆させていただきました。
kei344

2017/07/09 11:54

「div=select & option」とは何のことでしょう。
pegy

2017/07/09 12:02 編集

コメントありがとうございます。紛らわしいため削除を致しました。本divは選択可能なdivとうだけです
kei344

2017/07/09 12:07

提示のコードはそもそも動きませんし、当該コードだけでは「動的に生成」も行っていません(表示を切り替えているだけ)が、書かれている状況が再現するコード(HTML/CSS/JavaScriptなど)か、再現するURLを提示されたほうが回答を得やすいと思います。
pegy

2017/07/09 15:42

動的なという点はおっしゃる通り、誤りでした。失礼しました。そのままコード再現するのはポイントが混乱すると考え、media screen の仕様に絞ったつもりが帰って分かりづらくしてしまい申し訳ございません
guest

回答1

0

ベストアンサー

頭から日本語がよくわかりません。

投稿2017/08/26 04:08

shaak

総合スコア607

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pegy

2017/08/26 05:35

ご回答頂き有難うございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問