有没有办法将默认css属性应用于css文件中定义的带有jquery的元素?
我使用jquery根据屏幕分辨率动态放置内容。如果分辨率宽度低于800px,我希望根据需要调整元素,但当窗口宽度调整到800px以上时,我希望外部css文件中已定义的css样式再次应用于元素。我可以手动完成并再次更改所有内容,但这似乎是多余的。我是否可以使用面向对象的css技巧或jquery函数来实现这一点 范例有没有办法将默认css属性应用于css文件中定义的带有jquery的元素?,jquery,html,css,Jquery,Html,Css,我使用jquery根据屏幕分辨率动态放置内容。如果分辨率宽度低于800px,我希望根据需要调整元素,但当窗口宽度调整到800px以上时,我希望外部css文件中已定义的css样式再次应用于元素。我可以手动完成并再次更改所有内容,但这似乎是多余的。我是否可以使用面向对象的css技巧或jquery函数来实现这一点 范例 $(window).resize(function() { if(this.resizeTO) clearTimeout(th
$(window).resize(function()
{
if(this.resizeTO)
clearTimeout(this.resizeTO);
this.resizeTO = setTimeout(function()
{
if(window.innerWidth < 800)
{
$("#usernameDisplay").css({top: "50px", right:"50%", "margin-right": "-" + $("#usernameDisplay").width()/2 + "px", "padding-top":"0px"});
$("#headerBack").css("height", "95px");
$("#userMenuContainer").css({top: "95px", right:"50%", "margin-right": "-" + $("#userMenuContainer").width()/2 + "px"});
}
else
{
$("#usernameDisplay").css({top: "0px", right:"0", "margin-right": "0", "padding-top":"10px"});
$("#headerBack").css("height", "55px");
$("#userMenuContainer").css({top: "110px", right:"0", "margin-right": "0"});
}
}, 200);
});
$(窗口)。调整大小(函数()
{
如果(这是resizeTO)
clearTimeout(this.resizeTO);
this.resizeTO=setTimeout(函数()
{
如果(窗内宽度<800)
{
$(“#用户名显示”).css({top:“50px”,right:“50%”,margin right:“-”+$(“#用户名显示”).width()/2+“px”,“padding top:“0px”});
$(“#headerBack”).css(“高度”,“95px”);
$(“#userMenuContainer”).css({top:“95px”,right:“50%”,margin right:“-”+$(“#userMenuContainer”).width()/2+“px”});
}
其他的
{
$(“#用户名显示”).css({top:“0px”,right:“0”,“margin right:“0”,“padding top:“10px”});
$(“#headerBack”).css(“高度”,“55px”);
$(“#userMenuContainer”).css({top:“110px”,right:“0”,“margin right:“0”});
}
}, 200);
});
如果您的CSS规则应用了样式,请说:
.foo {
left: 20px;
}
您有一个元素适用于:
<div class="foo">...</div>
请注意,它会覆盖它,而不会覆盖它
如果随后从元素本身中删除该样式值:
$(".foo").css("left", "");
…CSS规则再次应用,(在本例中,left
属性返回到20px
如果要删除应用于元素的所有内联样式,可以通过清除style
属性:
$("#usernameDisplay").attr("style", "");
因此,请使用
.addClass()
并摆脱风格
attribute@Mr.Alien:这适用于应用静态或/或值,对于正在动态计算的值(例如,$(“#usernameDisplay”).width()/2+“px”
)则不太适用。我不认为这是重复的。我要求重新应用以前定义的css。不要替换它。@CraigPatrickLafferty:你问的是如何删除内联样式(这样CSS规则就接管了)。这个问题询问了如何删除内联样式(并且有现成的答案)。还是我们误会了?@T.J.Crowder哦,我明白了,在这里学习蜜蜂:)
$("#usernameDisplay").attr("style", "");