(HTML)假设我在固定宽度的容器内。其中一些标题将超过一行。我想隔离这些行,并对每一行分别做一些事情。有没有一种方法,用JavaScript来计算标题在哪里断到下一行,并在每一行周围加上一个跨度?
发布于 2010-10-18 23:09:23
我写了一个有点老套的自定义选择器。这个选择器克隆对象,然后给克隆一个超文本标记语言A。然后,它比较原始和克隆的高度。如果它们相同或副本较大,则选择器失败。如果副本比原始的小(即我们假定该行已经换行),则选择器通过:
$.expr[':'].multiLine = function(obj) {
var $this = $(obj),
copy = $this.clone().html('A').insertAfter($this)
ret;
ret = (copy.height() < $this.height());
copy.remove();
return ret;
};你可以这样叫它:
$('h1:multiLine')注意,您不应该将h*元素包装在span标记中,因为内联元素(例如span)可能不包含块级元素(例如h1)。
编辑还请注意,如果页眉中有图像,或者更改了页眉中任何文本的高度,则此操作可能不起作用。最好不要依赖这种检测--仅将其用于增强。
https://stackoverflow.com/questions/3960336
复制相似问题