javascript - 点击 jquery/css 替换单个图像
问题描述
我正在做一个项目并且遇到了一个css问题。我有一个调查,一旦用户点击某个选项,灰色图像就会改变以补充正确的选择。
我有它的工作,但是,图像在一个名为的类中img-element
因此,一旦单击图像,它就会使用此类更改页面上的所有图像,而不仅仅是一个选定的调查问题。
我试图通过为每个问题添加一个类来解决这个问题.question1, .question2
:
调查.scss
.questionnaire {
margin-top: 70px;
.question1 {
.box-title-with-image {
.img-element {
left: 95%;
top: -100%;
bottom: auto;
}
}
}
.question2 {
.box-title-with-image {
.img-element {
left: 95%;
top: -100%;
bottom: auto;
}
}
}
}
在 jquery 中,我添加了多个类,如下所示:https ://www.w3schools.com/jquery/sel_multiple_classes.asp 并在我的 .js 文件中实现了它
调查.js
if (question1Answers.answer1) { // if user select answer1 of question1, then
$('.question1, .img-element').attr('src','../images/img1.png');
// ...omitted code ...
} else if (question1Answers.answer2 && question2Answers.answer2) {
$('.question2, .img-element').attr('src','../images/img2.png');
}
但是,它仍然存在同样的问题。我知道这可以用 css 中的伪类来完成,但我不能在这个项目中使用它。是否有另一种使用 jquery 的方法来解决这个问题?
解决方案
如果您尝试将 src 属性添加到类“img-element”的 img 元素,该元素位于“question1 或 question2”类的元素内,那么您的选择器应该像
这个:
$('.question1 .img-element').attr('src','../images/img1.png');
而不是这个:
$('.question1, .img-element').attr('src','../images/img1.png');
使用逗号将选择所有具有这些类的元素。
推荐阅读
- c# - 使用数据注释的实体框架 1:0..1(一对零或一)关系
- bash - bash - 检查字符串是否包含 #
- javascript - 如何在角度 2 的图像上进行动态叠加?
- android - 注释:@EViewGroup - 注释参数必须是 Android 库模块中的编译时常量错误
- c++ - 如何在 mex 文件中访问 Matlab 结构数组中的数据
- javascript - React Router 4 - 不同的布局?
- html - 我可以在没有闪亮服务器的情况下在 1 个端口上有多个闪亮的应用程序吗?
- tensorflow - 如何编辑 bazel 用于构建 syntaxnet/tensorflow 的链接器标志
- mysql - Laravel'找不到驱动程序(SQL:插入...'
- mongodb-query - mongodb group by 与所有键