我想知道是否有一种方法可以使用Javascript或jQuery在HTML中找到字母的位置?我非常怀疑这是不可能的,但它会让我的生活变得更容易。
或者,有没有办法使用JS找到<br />
标记在HTML中的位置?
提前谢谢。
发布于 2012-02-11 18:05:16
假设您指的是字符在屏幕上显示的位置,以像素为单位:
jQuery或DOM不会在其对象模型中对单个角色进行建模,因此无法直接读取角色的位置。
我能想到的最好的方法是在字符之前(或之后)插入一个虚拟元素,例如一个具有特殊类的零宽度跨度,然后获取它的位置。或者,您可以将字符包装在这样一个特殊的元素中,然后获得包装器的位置、宽度、高度等。
这仍然不是微不足道的,因为您需要扫描HTML,并且您不希望通过在不属于它们的位置插入标记来破坏HTML -例如,如果您想匹配字符'd',您不希望将<div>
转换为<<span class="magic">d</span>iv>
,因为这将不是格式良好的HTML。
此外,插入这些虚拟元素可能会稍微改变布局,这取决于浏览器处理紧排的方式。
发布于 2012-02-12 04:29:58
实际行动:http://jsfiddle.net/WKgWM/
html:
<p>Percussus ait in fuerat construeret cena reges undis effugere quod una.</p>
js:
var selection = "dis";
var spn = '<span class="selected">'+selection+'</span>';
$("p").html($("p").html().replace(selection,spn));
css:
.selected{
background-color:#FF00FF;
}
https://stackoverflow.com/questions/9239293
复制相似问题