Jquery添加CSS声明

jquery add css declarations?

本文关键字:声明 CSS 添加 Jquery      更新时间:2023-09-26

是否可以使用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');

对于第一部分,您正确地为bodytable标签添加样式。

对于第二部分,这个解决方案,虽然使用.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或添加/删除类名来设置样式。