【发布时间】:2012-02-23 16:54:54
【问题描述】:
我正在尝试适应这个:
var h2=$('.block h2');
var divh=$('.block').height();
while ($(h2).outerHeight()>divh) {
alert('enters while');
$(h2).text(function (index, text) {
return text.replace(/\W*\s(\S)*$/, '...');
});
}
这里解释:Cross browsers mult-lines text overflow with ellipsis appended within a width&height fixed div?
我遇到的问题是我有各种li,其中每个都包含一个.block,每个li都有一个h2标签
例子:
<li>
<div class="block">
....
<h2>Tittleasfasjgpashgj9ahgpasgnapsighapighapsogna</h2>
...
</div>
</li>
<li>
<div class="block">
....
<h2>5Tittleasfasjgpashgj9ahgpasgnapsighapighapsogna</h2>
...
http://i.stack.imgur.com/lI82f.jpg
将.block 设置为200px,将img 设置为height: 90px; 和padding: 5px 现在我需要将img 下方的高度与h2 的高度进行比较。
但它也不起作用,它只是不做if,但divh包含数据(200,css中设置的200px)。
编辑:
所以我发现解决此问题的最佳方法是将高度设置为h2 标签,然后将其内容高度与设置的高度进行比较。
【问题讨论】:
-
你的意思是
$('h2')在第 3,5 行吗? -
您在
while之后缺少(,但我不知道如果这就是您所拥有的全部代码,您的代码是否可以正常工作,因为$h2未在此部分中定义. -
对不起,这是
var h2=...不是var p并添加了( -
尝试在 if 之前添加 alert($(this).outerHeight()),以验证您期望的值。
-
现在我明白了为什么它不起作用......它永远不会返回高于 200 的值。Pfff
标签: javascript jquery html while-loop each