Jquery 基于选择值显示div
我有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图标: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
当您使用.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。嗨,谢谢你的回答。这对我来说正是我想要的。再次感谢。我还有一个问题,你能不能也看看这个?谢谢