我输出了无限量的内联元素。现在,根据浏览器宽度,一些元素当然会换行到一个新行。是否可以检测并挑出这些元素行,或者dom只是将其视为一条大线?
感谢您的帮助!!
编辑:尝试通过偏移高度检测包裹的元素(感谢Matchu)。包装的元素输出与第一行相同的值(元素的总高度)。有什么理由吗?
$('#content').children().each(function() {
alert($(this)[0].offsetHeight);
});
答案 0 :(得分:12)
您可以检查元素的offsetHeight
属性并观察它是否跳跃。当内联元素比前一个元素具有更大的offsetHeight
时,此元素位于新行上。
答案 1 :(得分:1)
element.getClientRects()在对包装的内联元素完成时将返回一个数组,每行包含一个rect对象。 Bowser支持是limited。
答案 2 :(得分:-2)
不,直接不可能。您只能尝试测量每个元素的宽度,计算位置并处理不适合的元素。