Javascript img元素赢得';未选中单选按钮时不添加类

Javascript img元素赢得';未选中单选按钮时不添加类,javascript,html,Javascript,Html,所以我有5个单选按钮和5个图像。我希望,当点击时,每个按钮显示一个特定的图像。但是,当我用其他东西检查单选按钮时,它会添加另一个图像,而不是替换它 这是密码 这是我的JS代码 $("#ekoloshki").change(function() { if (this.checked) { $("#ekoloshkislika").removeClass("skrijgo"); } else { $("#ekoloshkislika")

所以我有5个单选按钮和5个图像。我希望,当点击时,每个按钮显示一个特定的图像。但是,当我用其他东西检查单选按钮时,它会添加另一个图像,而不是替换它

这是密码

这是我的JS代码

$("#ekoloshki").change(function() {
    if (this.checked) {
        $("#ekoloshkislika").removeClass("skrijgo");
    }
    else    {
        $("#ekoloshkislika").addClass("skrijgo");
}
});

您需要使用当前选中单选按钮中的id,并将其与单词
slika
连接起来

$('img').addClass('skrijgo');
$('img#' + $(this).attr('id') + 'slika').removeClass('skrijgo');
我添加了一些图片来说明

$(文档).ready(函数(){
$('[name=“karta”]')。更改(函数(){
$('img').addClass('skrijgo');
$('img#'+$(this.attr('id')+'slika').removeClass('skrijgo');
});
});
#列表数据{
显示:块;
右边距:25%;
左边缘:25%;
利润率最高:0%;
背景色:白色;
}
.不可选择{
-moz用户选择:-moz无;
-khtml用户选择:无;
-webkit用户选择:无;
-ms用户选择:无;
用户选择:无;
}
#复选框{
显示:块;
宽度:100%;
背景色:白色;
边框样式:实心;
边框颜色:黑色;
身高:5%;
}
skrijgo先生{
显示:无;
}
#卡尔塔塔{
利润率最高:2%;
位置:相对位置;
浮动:中心;
显示:块;
}

Еколошки фактори

Социо-економски фактори

Природно-географски фактори

Инфраструктурни фактори

Сите фактори

听起来像是要将
skrijgo
类添加到所有其他不想显示的图像中

我会选择一个更通用的解决方案。比如说

$('input[name="kartka"][id]').on('change', function() {
  let checkId = `${this.id}slika`
  $('#kartata img').each((i, elt) => {
    elt.classList.toggle('skrijgo', elt.id !== checkId)
  })
})

也就是说,每当名为“kartka”(具有
id
属性)的输入发生更改时,迭代
#kartata
中的所有
元素,如果它们的
id
属性与单选按钮的
id+'slika'
匹配,则删除该类。如果没有,则添加该类。

还不是问题,但如果OP曾向
skrijgo
类添加任何转换,则首先将其添加到所有图像,然后删除一个可能会导致不必要的视觉副作用。非常感谢!这项工作做得很出色!