这就是我正在做的。我为每个元素都有一组默认的 CSS,但我需要在点击时修改它。
是否有简单的方法来撤销 jQuery 操作所做的更改?就像回滚默认设置样式一样?我手动执行此操作,但我想自动执行此操作,无需硬编码任何内容。
jQuery
main.find('li').each(function() {
var sub1 = $(this);
if(sub1.has('ul').length > 0) {
var bg = sub1.css('background-image');
sub1.click(function() {
event.preventDefault();
event.stopPropagation();
if(!sub1.find('> ul').is(':visible')) {
sub1.css('border-bottom', '2px solid #E1E000');
sub1.css('background-image', 'url(img/square0.png)');
sub1.find('> a').css('color', '#D8A2DD');
}
else {
sub1.css('border-bottom', '2px solid transparent');
sub1.css('background-image', bg);
sub1.find('> a').css('color', '#fff');
}
sub1.find('> ul').toggle();
});
}
else {
sub1.click(function(event) {
event.stopPropagation();
});
}
});
CSS
.menu > li > ul > li {
text-transform: uppercase;
background-repeat: no-repeat;
background-position: left 0 top 5px;
}
.menu > li > ul > li:nth-child(3n+1) {
background-image: url(img/square1.png);
}
.menu > li > ul > li:nth-child(3n+2) {
background-image: url(img/square2.png);
}
.menu > li > ul > li:nth-child(3n+3) {
background-image: url(img/square3.png);
}
最佳答案
使用类来指定 css 属性。 jquery 有 addClass和 removeClass添加/删除类。
关于jquery - 反向 CSS 更改完成我的 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29397587/