我有一个对象(div),里面有两个元素(带有类)。
任务:当元素A的高度低于40px时,则添加到元素B 22px margin-top。
然而,页面上有许多对象,下面的代码只找到第一个元素A(具有类.list名称)并为所有元素B添加边距(具有类.product-image-container)。
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
previewLayer.frame = camView.bounds
}
提前感谢您提供任何帮助
罗布
答案 0 :(得分:1)
这是您需要的解决方案,
list-name
函数循环遍历所有$('.list-name').each()
类。product-image-container
(obj).next('.product-image-container')
更接近它
$(obj).next('.product-image-container').css('margin-top', '20px')
$(document).ready(function(){
$('.list-name').each(function(index, obj){
console.log($(obj).height())
if($(obj).height() > 20)
{
$(obj).next('.product-image-container').css('background', 'green')
}
});
});

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<div>
<div class="list-name" style="height: 20px">list-name 1</div>
<div class="product-image-container">product-image-container 1</div>
</div>
<div>
<div class="list-name" style="height: 40px">list-name 2</div>
<div class="product-image-container">product-image-container 2</div>
</div>
</body>
</html>
&#13;
请运行以上代码段