【发布时间】:2021-06-28 12:46:51
【问题描述】:
我正在使用以下代码获取垂直图像并向其添加类,但我不知道为什么,它不起作用:
//wrapall div inside a container
$('#page_container .et_pb_column_1 .et_pb_module').wrapAll('<div class="slider-pag_interna">');
//for each img I check height and width and assign some classes
$(".slider-pag_interna div span img ").each(function(){
if ($(this).width() < $(this).height()) {
$(this).parent().parent().addClass("vertical");
}
else{
$(this).parent().parent().addClass("horizontal");
}
});
我的html代码:
<div id="page_container" class="et_pb_row et_pb_row_0 et_pb_row--with-menu" style="z-index: 3;">
<div class="et_pb_column et_pb_column_1_2 et_pb_column_1 et_pb_css_mix_blend_mode_passthrough et-last-child">
<div class="et_pb_module et_pb_image et_pb_image_0">
<span class="et_pb_image_wrap "><img loading="lazy" src="https://images.unsplash.com/reserve/Af0sF2OS5S5gatqrKzVP_Silhoutte.jpg?ixid=MXwxMjA3fDB8MHxzZWFyY2h8M3x8cGljfGVufDB8fDB8&ixlib=rb-1.2.1&w=1000&q=80" alt="" width="auto" height="auto"></span>
</div>
<div class="et_pb_module et_pb_image et_pb_image_1">
<span class="et_pb_image_wrap "><img loading="lazy" src="https://images.unsplash.com/reserve/Af0sF2OS5S5gatqrKzVP_Silhoutte.jpg?ixid=MXwxMjA3fDB8MHxzZWFyY2h8M3x8cGljfGVufDB8fDB8&ixlib=rb-1.2.1&w=1000&q=80" alt="" width="auto" height="auto"></span>
</div>
<div class="et_pb_module et_pb_image et_pb_image_2">
<span class="et_pb_image_wrap "><img loading="lazy" src="https://www.threebu.it/wp_threebu/wp-content/uploads/2017/06/vertical-farming-chris-jacobs.jpg" width="auto" height="auto"></span>
</div>
<div class="et_pb_module et_pb_image et_pb_image_3">
<span class="et_pb_image_wrap "><img loading="lazy" src="https://images.unsplash.com/reserve/Af0sF2OS5S5gatqrKzVP_Silhoutte.jpg?ixid=MXwxMjA3fDB8MHxzZWFyY2h8M3x8cGljfGVufDB8fDB8&ixlib=rb-1.2.1&w=1000&q=80" alt="" width="auto" height="auto"></span>
</div>
</div>
【问题讨论】:
-
请在问题中包含 html/图像,最好是在 sn-p 中(编辑并单击
[<>])。 -
究竟是什么不工作?在您的测试页面上,我确实在
.et_pb_module容器上看到了正确的类 -
啊 - 没看到 extra .wrapAll() (这里没有提到) 如前所述,请包括所有相关信息在问题中。见minimal reproducible example。
-
将代码复制到 jsfiddle - 工作正常:jsfiddle.net/7untm5kh 如上所述,@estellechvl 打开您的页面并检查图像显示它们具有预期的类。
-
是的,freedomn-m 是对的。所以基本上把你的代码包装成
$(window).on("load", () => {});这样的东西就可以了
标签: jquery function height width each