是否可以使用jquery添加新的样式声明?
例如,传递:
{ "body": { "font-size": "12px" }, "table": { "xyz": "123" } }
等等
到一个我不知道的函数,而不必选择这些元素并按照这样做:
$('body').css({"font-size": "12px"});
$('table').css({"xyz": "123"});
问题的第二部分,是否可以使用jquery为:hover伪类设置css,还是需要使用.hover()函数?如果可能的话,我只想要应用css而不必处理鼠标输入/输出功能。
$('#element').find('a.thumbnail:hover').css({'background-color': '#efefef' });
不起作用。
谢谢, 韦斯利
答案 0 :(得分:6)
您可以通过document.stylesheets
集合使用纯JavaScript更改样式表本身。点击此处:http://www.howtocreate.co.uk/tutorials/javascript/domstylesheets
您还可以使用jQuery插件jRule来完成相同的结果:http://flesler.blogspot.com/2007/11/jqueryrule.html
答案 1 :(得分:4)
回答第1部分:
你必须定义一个函数来做 - 尝试这样的事情:
function styleit(json)
{
//loop through the json
$.each(item, function(i, style){
//apply styles
$(i).css(styles);
}
}
回答第2部分:
我会把css声明放在像这样的类中:
.active a.thumbnail:hover { background-color: #efefef; }
然后使用javascript在父元素的上下文中切换类
$('#element').addClass('active');
答案 2 :(得分:0)
对于第一部分,您正在向body
和table
标记添加样式。
对于第二部分,此解决方案在使用.hover()
时似乎是一个更简单的解决方案:
$('#element').hover(function() {
$(this).css({'background-color': '#efefef' });
});
答案 3 :(得分:0)
试试这个:
$('a.thumbnail').hover(
function(){
$(this).css({'background-color':'#efefef'});
},
function(){
$(this).css({'background-color':'normal-color'});
}
);
示例:http://jsfiddle.net/jfhpg/1/
希望它有所帮助。
答案 4 :(得分:-1)
您必须通过仅选择dom元素来完成此操作。另外,为了设置悬停样式,您必须使用css设置样式或添加/删除类名。