2016-03-08 78 views
3

我有一些問題試圖用jQuery/javascript添加媒體查詢。我有一個隱藏在display: none的小屏幕上的<div class="container">。我想用下面的代碼使它顯示出來,儘管我沒有任何錯誤沒有改變。使用javascript或jQuery添加CSS媒體查詢

$('.container').append('<style type="text/css">@media screen and (min-width: 1012px){ .container { "display": "block"}}</style>'); 

有什麼建議嗎?謝謝。

+1

爲什麼在JS中添加媒體查詢並且在加載時沒有將其添加到DOM中?這有點多餘,首先違背了媒體查詢的要求。 –

+0

'$('head')。append ..''你不需要'雙引號'圍繞'display'和'block' –

+0

感謝您的信息。我知道在CSS樣式表中使用Media Queries更容易,但在這種特殊情況下,我必須使用JavaScript或jQuery。 – sixtorodriguez

回答

0

您可以使用

document.querySelector('style').textContent += 
"@media screen and (min-width: 1012px){ .container { display: 'block'}}" 

獲取樣式元素,並添加新的規則,你的HTML添加如果不存在

<style>......</style> 
2

它會正常工作,如果你只是刪除雙引號形成「顯示「:」塊「

$('.container').append('<style type="text/css">@media screen and (max-width: 1012px){ .container { display: block}}</style>'); 

但我認爲如果y ou更改您的選擇器

$('head').append('<style type="text/css">@media screen and (max-width: 1012px){ .container { display: block}}</style>'); 
+0

感謝您的信息。到目前爲止,我已經嘗試過,但它不起作用。也許我錯過了一些東西。所以基本上你把這個CSS樣式添加到頭標籤? – sixtorodriguez