Javascript 更改函数以查找图像
在我的示例中,如果单击其中一个alt图像,我希望显示选中标记图像。现在我的更改事件正在注册(请参阅控制台),但图像Javascript 更改函数以查找图像,javascript,jquery,input,find,Javascript,Jquery,Input,Find,在我的示例中,如果单击其中一个alt图像,我希望显示选中标记图像。现在我的更改事件正在注册(请参阅控制台),但图像。未找到或淡入选中标记img。如果激活,fadeboltoggle功能将淡出 此代码意味着一次只允许选中一个复选框。因此,当有人单击某个输入时,它会取消选中所有输入,然后检查单击的输入 $('.option-check').not(this).prop('checked', false).closest('.product-wrap').find('.checkmark-img')
。未找到或淡入选中标记img
。如果激活,fadeboltoggle
功能将淡出
此代码意味着一次只允许选中一个复选框。因此,当有人单击某个输入时,它会取消选中所有输入,然后检查单击的输入
$('.option-check').not(this).prop('checked', false).closest('.product-wrap').find('.checkmark-img').fadeBoolToggle(false);
this.checked = true;
$(this).closest('.product-wrap').find('.checkmark-img').fadeBoolToggle(true);
有人知道为什么我的图像在点击一个alt图像时不会褪色吗
jQuery.fn.fadeboltoggle=函数(bool){
返回布尔?this.fadeIn(400):this.fadeOut(400);
}
$('.option check')。在('change',function()上{
$('.option-check')。不是(this).prop('checked',false)。最近('product-wrap')。查找('checkmark-img')。fadeboltogle(false);
this.checked=true;
$(this).closest('.product wrap').find('.checkmark img').fadeboltogle(true);
var test=$('.option-check:checked').val();
log('option check clicked');
控制台日志(测试);
});代码>
。产品包装{
宽度:100%;
位置:相对位置;
显示:块;
}
.复选标记img{
显示:无;
宽度:40%;
高度:自动;
z指数:2;
光标:指针;
}
.包检查切换{
位置:相对位置;
身高:100%;
宽度:100%;
显示:块;
}
.日历选项img{
保证金:20px自动;
光标:指针;
宽度:50%;
高度:自动;
}
.产品检查,
.日历检查,
.选项检查{
显示:无;
}
A.
B
返回与选择器匹配的当前项最接近的父项,包括当前对象本身
因为您将
放置在外部。产品包装分区
$(this).closest('.product-wrap')
。。。返回空
工作示例:
jQuery.fn.fadeboltoggle=函数(bool){
返回布尔?this.fadeIn(400):this.fadeOut(400);
}
$('.option check')。在('change',function()上{
$(this).closest('.product wrap').find('.checkmark img').fadeboltogle(true);
var test=$('.option-check:checked').val();
log('option check clicked');
控制台日志(测试);
});代码>
。产品包装{
宽度:100%;
位置:相对位置;
显示:块;
}
.复选标记img{
显示:无;
宽度:40%;
高度:自动;
z指数:2;
光标:指针;
}
.包检查切换{
位置:相对位置;
身高:100%;
宽度:100%;
显示:块;
}
.日历选项img{
保证金:20px自动;
光标:指针;
宽度:50%;
高度:自动;
}
.产品检查,
.日历检查,
.选项检查{
显示:无;
}
A.
B
您是否尝试过控制台.log
-ing$(this).最近('.product wrap')。查找('.checkmark img')
以查看它返回的内容?我打赌它返回的是一个函数,而不是一个元素,这基本上意味着它在$(this)中找不到任何.checkmark img
。最近('.product wrap')
。它是。checkmark img
。您在哪里看到ing?在执行console.log($(this).closest('.product wrap').find('.checkmark img'))时
我得到的结果是返回[prevObject:r.fn.init[0]]
准确无误。两个选择器都不返回任何元素。它们返回一个空的jQuery包装器。@AndreiGheorghiu为什么所选的输入没有被放入这个?知道我还能做什么吗?明白了,谢谢!是的,我把范围缩小到了。最近的
,但一直在更改选择器,认为这就是问题所在。我刚刚想到了一件事……我本可以使用.sibbins()
。谢谢你的帮助!如果坚持原始标记,可以使用$(this).prev().find('.checkmark img')
。但对我来说,在同一级别上使用标签和输入非常有意义。随着时间的推移,我学会了让事情尽可能简单永远是一种胜利。没有偏好。只是想用其他方法代替我的原始代码。这是与兄弟姐妹的代码。感谢您的替代方法和帮助!