jquery - 仅更改某个类的一个元素的更简单方法

标签 jquery css

我想更改某个类的选定元素的样式属性。我有五个 h6 元素,如果用户单击其中一个,则所选元素的样式会更改,而其他元素会变为默认样式。例如,

$(".change").bind("click",function (){ 
     $(".change").css("color","white");
      $(this).css("color","red");
    });

这些代码改变了类(class)所有成员的颜色,最后改变了所选成员的颜色。我想要的是那样,只改变选定的那个。但是,这不是一个好方法,因为更改样式属性的其他属性需要了解默认属性。例如,我不得不发现我的背景颜色是#D4D4D4。有什么简单的方法可以只更改类的选定元素,就像 css 的“悬停”一样?

最佳答案

我不是 100% 确定我知道你在问什么,但如果你试图解决的问题是你不想将 CSS 状态编码到你的 javascript 中,那么你应该添加/remove classes to your objects 并让所有样式都在你的 CSS 中(它所属的位置):

$(".change").click(function (){ 
    $(".change").removeClass("selected");
    $(this).addClass("selected");
});

然后只需为所选类创建一个 CSS 规则,所有其他元素将具有正常的默认样式。

.selected {color: red;}

关于jquery - 仅更改某个类的一个元素的更简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7341579/

相关文章:

javascript - 关于如何使用其中的元素对 ul 的每一侧进行编号的任何想法?

javascript - 如何从电子邮件格式检查器代码中删除错误文本?

javascript - 从 Firefox 扩展中清除 innerHTML 的最佳方法

javascript - 每行文本下方有线条的文本区域

CSS3扩展行元素高度而不影响整个行高

html - @media 屏幕查询不起作用

javascript - 2017 年 HTML/CSS 的实时重新加载/刷新解决方案

javascript - 如何使用 javascript 或 jquery 激活 Clippy-jquery

javascript - HTML5 音频在某些浏览器中无法工作

jquery - 使用 css 和 jquery 调整图像大小后获取图像高度?