2016-03-08 74 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