使用jQuery更改CSS条目

10 浏览
0 Comments

使用jQuery更改CSS条目

我有这个HTML代码。

文件
编辑
帮助

我还有这个CSS代码。

.menu {
    float: left;
    width: 150px;
    position: relative;
}

由于某种原因,如果我点击一个特殊按钮,我需要禁用float:left和position:relative,并将其恢复到"unset"状态,但是这段代码不起作用。

function doThat() {
    $('.menu').css({"float": "", "position": ""});
}

我应该如何做到这一点?问题是这不是内联CSS。谢谢。


编辑:根据@alexfreiria给出的解决方案,我在这里附上答案。

function doThat() {
    $('.menu').css({"float": "inherit", "position": "inherit"});
}

这在IE中有效。谢谢大家!

0
0 Comments

问题的出现是因为原来的代码使用了空字符串来重置CSS属性,而空字符串在某些浏览器中会被解析为无效的CSS值。为了解决这个问题,作者将空字符串替换为了"initial",这是CSS中的一个预定义关键字,可以将属性的值重置为其初始值。此外,文章还提到了CSS中的另外两个预定义关键字"inherit"和"unset",以及建议在IE中使用"none"和"static"而不是"initial"。

文章标题:使用jQuery改变CSS入口的原因及解决方法

在这段代码中,原来的函数doThat()使用了空字符串来重置CSS属性,但是在某些浏览器中,空字符串会被解析为无效的CSS值。为了解决这个问题,作者将空字符串替换为了"initial",这是CSS中的一个预定义关键字,可以将属性的值重置为其初始值。

在文章中还提到了CSS中的另外两个预定义关键字"inherit"和"unset",分别用于将属性的值设置为继承自父元素的值和重置为其初始值。此外,文章还指出在IE中不支持"initial",建议使用"none"和"static"来代替。

总结起来,解决这个问题的方法是使用CSS中的预定义关键字来替代空字符串,可以选择使用"initial"将属性的值重置为其初始值,或者根据具体情况使用"inherit"或"unset"来设置属性的值。在IE中,建议使用"none"和"static"替代"initial"。

0
0 Comments

Change CSS entry using jQuery问题出现的原因是为了改变元素的CSS样式,但不想手动记住初始状态和继承自父元素的状态。

解决方法是使用jQuery的css()方法,通过传入一个包含需要改变的CSS属性和值的对象,来改变元素的CSS样式。这样就不需要手动记住初始状态和继承自父元素的状态。

具体代码如下:

$('.menu').css ({
   'float': 'none', //初始状态是none
   'position': 'static' //初始状态是static
});

这样就可以改变类为"menu"的元素的float属性为none,position属性为static。

使用这种方法,不需要手动记住初始状态和继承自父元素的状态,更加方便和通用。

0