我正在努力找到一个很好的解决方案,让所有元素的高度都高于我的目标。
循环prev()
函数!关于我如何处理的任何想法?
<div>
<div style="height:50px;width:100%"></div>
<div style="height:12px;width:100%"></div>
<div style="height:23px;width:100%"></div>
<div style="height:56px;width:100%"></div>
<div id="#mytarget"><p>HERE</p></div>
</div>
$('#mytarget').prev().each(function() {
alert($(this).outerHeight());
});
它会触发["56","23","12","50"]
。
答案 0 :(得分:3)
prev()
仅为您提供“紧接在前的兄弟姐妹”
prevAll
为您提供“所有兄弟姐妹”。
$('#mytarget').prevAll().each(function() {
alert($(this).outerHeight());
});
然后移除ID中的#
:
<div id="#mytarget">
=&gt; <div id="mytarget">
<强>文档:强>
描述:获取匹配元素集中每个元素的所有前面的兄弟,可选择通过选择器进行过滤。
prev
:
描述:获取匹配元素集中每个元素的紧接在前的兄弟,可选择由选择器过滤
答案 1 :(得分:1)
尝试prevAll():
var result=[];
$('#mytarget').prevAll().each(function() {
result.push($(this).outerHeight());
});
alert(result);
并且还要改变
<div id="#mytarget"><p>HERE</p></div>
为:
<div id="mytarget"><p>HERE</p></div>