使用jQuery单独处理包装线

时间:2012-01-31 16:38:24

标签: javascript jquery textwrapping

我正在寻找一种单独处理< div>中的行的方法由于宽度窄而被包裹。也就是说,如果我的文字是“Lorem ipsum dolor sit amet lorem \ n ipsum dolor sit amet”,如下所示:

Lorem ipsum dolor
坐在一个lorem
ipsum dolor坐着 阿梅特

然后我应该能够将每个“行”封装在一个,例如< span>标签,例如:

< span id =“line0”> Lorem ipsum dolor< span>
< span id =“line1”> sit amet lorem< / span>
......等等。

编辑:我们可以假设div的宽度和高度是固定的并且是已知的。

我找不到建议的解决方案,如果存在的话;虽然有一个很好的建议,计算固定行高的行:How to check for # of lines using jQuery

1 个答案:

答案 0 :(得分:1)

从这开始:

<div class="narrow">Lorem ipsum dolor sit amet lorem ipsum dolor sit amet</div>

的CSS:

.narrow {
   width:60px;   
}

在有空格的地方插入一些占位符:

$('.narrow').html($('.narrow').html().replace(/ /g,"<span class='count'> </span>")) 

确定每个占位符的y位置:

$('.narrow .count') .each(function() {
     var myPos = $(this).position()
     alert(myPos.top)   
}) 

从那里你应该能够根据它的y位置找出每条线的起点/终点。