Jquery 基于选择值显示div

Jquery 基于选择值显示div,jquery,Jquery,我有5组div,它们有共同的类名。我需要根据select元素的值显示子div,该元素也在子div下。但是绝对没有发生任何事情。我做错了什么 $'.item chooser'.eachfunction{ var media=$this.val; 如果媒体=='Fontsome'{ $this.parent'.cta block'.children'.cta fa icon'.slideDown; }如果媒体=='图像'{ $this.parent'.cta block'.children'.ct

我有5组div,它们有共同的类名。我需要根据select元素的值显示子div,该元素也在子div下。但是绝对没有发生任何事情。我做错了什么

$'.item chooser'.eachfunction{ var media=$this.val; 如果媒体=='Fontsome'{ $this.parent'.cta block'.children'.cta fa icon'.slideDown; }如果媒体=='图像'{ $this.parent'.cta block'.children'.cta image upload'.slideDown; } $this.changefunction{ var media=$this.val; 如果媒体=='Fontsome'{ $this.parent'.cta block item wrap'.children'.cta image upload'.slideUp; $this.parent'.cta block item wrap'.children'.cta fa icon'.slideDown; }否则,如果媒体=='image'{ $this.parent'.cta block item wrap'.children'.cta fa icon'.slideUp; $this.parent'.cta block item wrap'.children'.cta image upload'.slideDown; } }; }; .cta块项目包装{ 边框底部:1px实心EEEE; 填充:10px0; } .cta图像上传, .cta fa图标{ 显示:无; } .cta块项目包装>标签{ 字体大小:12px; 字体大小:粗体; 利润率:0.50px 0.0; } FA图标/图像: 真棒的图标 形象 上载图像: 选择FA图标: FA图标/图像: 真棒的图标 形象 上载图像: 选择FA图标:
当您使用.children时,您的层次结构是错误的。你应该使用。兄弟姐妹

cta图像上载和cta fa图标是cta block item wrap item_chooser父项的兄弟项,而不是子项

Ex$this.parent'.cta block item wrap'.sides'.cta image upload'.slideUp

首先,您将使用从.item选择器遍历到.cta块。但是父级只在DOM中向上移动一个级别,.cta块不是.item选择器的直接父级。我建议使用or

.parent只在DOM树上移动一个级别

我也用替换了,因为在您的上下文中,灵活性和,但您的孩子选择器也可以工作

$this.closest'.cta block'.find'.cta fa icon'.slideDown; 其次,您正在迭代每个.item选择器以设置初始状态并绑定事件侦听器。我建议通过绑定更改事件处理程序,然后触发更改来简化事情:

$('.item-chooser').on('change',function() { .. }).trigger('change');
第三,当你滑下另一个选项时,你不会滑上一个选项。在显示图标输入时,似乎要隐藏文件输入,反之亦然:

$(this).closest('.cta-block').find('.cta-fa-icon').slideDown();
$(this).closest('.cta-block').find('.cta-image-upload').slideUp();
请参见下面的演示:

$'.item chooser'。在“更改”上,函数{ var media=$this.val; 如果媒体=='Fontsome'{ $this.closest'.cta block'.find'.cta fa icon'.slideDown; $this.closest'.cta block'.find'.cta image upload'.slideUp; }否则,如果媒体=='image'{ $this.closest'.cta block'.find'.cta image upload'.slideDown; $this.closest'.cta block'.find'.cta fa icon'.slideUp; } }.触发“改变”; .cta块项目包装{ 边框底部:1px实心EEEE; 填充:10px0; } .cta图像上传, .cta fa图标{ 显示:无; } .cta块项目包装>标签{ 字体大小:12px; 字体大小:粗体; 利润率:0.50px 0.0; } FA图标/图像: 真棒的图标 形象 上载图像: 选择FA图标: FA图标/图像: 真棒的图标 形象 上载图像: 选择FA图标:
请给我们css。我将设置一个工作小提琴。@Stanimir,现在没有多少CSS。编辑了问题并添加了现有的CSS。嗨,谢谢你的回答。这对我来说正是我想要的。再次感谢。我还有一个问题,你能不能也看看这个?谢谢