Jquery添加CSS声明
jquery add css declarations?
是否可以使用jquery添加新的样式声明?
例如,传递:
{ "body": { "font-size": "12px" }, "table": { "xyz": "123" } }
等等
到一个函数,我不知道不需要选择这些元素,像这样做:
$('body').css({"font-size": "12px"});
$('table').css({"xyz": "123"});
和问题的第二部分,是否有可能设置css:hover伪类与jquery或我需要使用。hover()函数?如果可能的话,我只想应用css,而不必处理鼠标输入/输出函数。
$('#element').find('a.thumbnail:hover').css({'background-color': '#efefef' });
不工作
谢谢,韦斯利
可以通过document.stylesheets
集合用纯javascript修改样式表本身。详见:http://www.howtocreate.co.uk/tutorials/javascript/domstylesheets
你也可以使用jQuery插件jRule来完成相同的结果:http://flesler.blogspot.com/2007/11/jqueryrule.html
回答第1部分:
你必须定义一个函数来做这件事——试着这样做:
function styleit(json)
{
//loop through the json
$.each(item, function(i, style){
//apply styles
$(i).css(styles);
}
}
第二部分答案:
我将把css声明放在一个类中,如:.active a.thumbnail:hover { background-color: #efefef; }
然后使用javascript在父元素的上下文中切换类
$('#element').addClass('active');
对于第一部分,您正确地为body
和table
标签添加样式。
对于第二部分,这个解决方案,虽然使用.hover()
似乎是一个更容易的解决方案:
$('#element').hover(function() {
$(this).css({'background-color': '#efefef' });
});
试试这个:
$('a.thumbnail').hover(
function(){
$(this).css({'background-color':'#efefef'});
},
function(){
$(this).css({'background-color':'normal-color'});
}
);
示例:http://jsfiddle.net/jfhpg/1/
希望能有所帮助。
只能选择dom元素。此外,为了设置悬停样式,您必须使用css或添加/删除类名来设置样式。
相关文章:
- Dojo不解析自定义小部件的模板html中的小部件声明性
- CSS-如何定位内容数据标题
- 窗口大小html css
- 如果文本字段为空,则使用JavaScript应用CSS样式
- 动画.CSS重播
- 有没有一种方法可以防止img get请求使用css或js发生
- 直接在函数声明上使用function.prototype.bind
- CSS表格:从列平移到整个表格宽度
- 获取HTML属性中CSS声明的值
- 〔Fixed〕试图通过使用JS/Jquery声明来避免重复的CSS
- 如果我声明 CSS 中的 id 复制到 Javascript 中的 id 会发生什么
- CSS / Javascript:为什么这个声明被忽略了
- 使用 CSS 忽略 CSS :hover, :active, :focus 声明
- css字体声明的Regexp
- 使用Javascript选择在CSS中声明的颜色
- 如果display是在CSS上声明的,为什么element.style.display是空的
- 在Javascript中为D3图形声明CSS样式
- Javascript来否决特别声明的CSS样式
- Jquery添加CSS声明
- 选择带有css:悬停声明的元素