首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在HTML中找到文本或<br />的绝对或相对位置?

如何在HTML中找到文本或<br />的绝对或相对位置?
EN

Stack Overflow用户
提问于 2012-02-11 17:54:41
回答 2查看 9.5K关注 0票数 7

我想知道是否有一种方法可以使用Javascript或jQuery在HTML中找到字母的位置?我非常怀疑这是不可能的,但它会让我的生活变得更容易。

或者,有没有办法使用JS找到<br />标记在HTML中的位置?

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2012-02-11 18:05:16

假设您指的是字符在屏幕上显示的位置,以像素为单位:

jQuery或DOM不会在其对象模型中对单个角色进行建模,因此无法直接读取角色的位置。

我能想到的最好的方法是在字符之前(或之后)插入一个虚拟元素,例如一个具有特殊类的零宽度跨度,然后获取它的位置。或者,您可以将字符包装在这样一个特殊的元素中,然后获得包装器的位置、宽度、高度等。

这仍然不是微不足道的,因为您需要扫描HTML,并且您不希望通过在不属于它们的位置插入标记来破坏HTML -例如,如果您想匹配字符'd',您不希望将<div>转换为<<span class="magic">d</span>iv>,因为这将不是格式良好的HTML。

此外,插入这些虚拟元素可能会稍微改变布局,这取决于浏览器处理紧排的方式。

票数 2
EN

Stack Overflow用户

发布于 2012-02-12 04:29:58

实际行动:http://jsfiddle.net/WKgWM/

html:

代码语言:javascript
复制
<p>Percussus ait in fuerat construeret cena reges undis effugere quod una.</p>​

js:

代码语言:javascript
复制
var selection = "dis";
var spn = '<span class="selected">'+selection+'</span>';
$("p").html($("p").html().replace(selection,spn));

css:

代码语言:javascript
复制
.selected{
  background-color:#FF00FF;
}​
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9239293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档