Javascript 使用输入收音机显示/隐藏图像 解释

Javascript 使用输入收音机显示/隐藏图像 解释,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我试图显示一个图像(和隐藏其他)的基础上,在一个输入电台选择。如果没有label(当然,也没有它的属性),它确实可以工作,但是当添加label时,它不会工作,可能是因为eq($(this).index())与以前不同,所以它选择了不同的对象。两个代码都在下面 代码 带有标签 $(文档).ready(函数(){ $('#radioDiv.inputRadio').change(function(){ $('.image').hide().eq($(this.index()).show(); })

我试图显示一个图像(和隐藏其他)的基础上,在一个输入电台选择。如果没有
label
(当然,也没有它的属性),它确实可以工作,但是当添加
label
时,它不会工作,可能是因为
eq($(this).index())
与以前不同,所以它选择了不同的对象。两个代码都在下面

代码 带有
标签

$(文档).ready(函数(){
$('#radioDiv.inputRadio').change(function(){
$('.image').hide().eq($(this.index()).show();
});
});
。隐藏{
显示:无;
}

红色
黄色的
绿色

您可以将
标签
包裹在
输入
周围,其结果将是相同的,而不改变索引

您还需要稍微调整JS,使其使用
标签
的索引,而不是
输入

$(文档).ready(函数(){
$('#radioDiv.inputRadio').change(function(){
$('.image').hide().eq($(this.parent().index()).show();
});
});
。隐藏{
显示:无;
}

红色
黄色的
绿色

一种方法是向输入收音机添加
数据-*
属性,以保存它们的目标图像。在下一个示例中,我使用
数据目标
属性来保持每个输入收音机的目标图像:

$(文档).ready(函数()
{
$('#radioDiv.inputRadio').change(function()
{
$('.image').hide();
$($(this.data(“target”)).show();
});
});
。隐藏{
显示:无;
}

红色
黄色的
绿色

谢谢,太棒了!!我接受你的答案,因为它更符合我的需要,但我也会投你的票。