是否可以检索文本节点的几何位置(即来自父元素,页面等的顶部/左侧偏移量)?正在检索DOM文本节点位置
回答
不直接。 TextNode没有用于测量视口定位的原始IE偏移*(和类似的)扩展。
仅在IE上,您可以创建一个TextRange对象,费力地尝试将其与TextNode的边界对齐,然后测量TextRange的boundingLeft/boundingTop,并将其添加到父元素的位置(由通常的手段)。然而,这是一个潜在的摇摆不定的单浏览器解决方案。
另一种您可能能够避开的方法是将文本包装到span元素中(无论是在文档中,还是通过脚本动态地和/或暂时地),并使用span来测量位置,假设它不是捡起任何可能影响位置的附加样式。但请注意,包裹的跨度可能不会给出预期的右/底值;取决于你想要用它做什么,你最终可能会包装第一个和最后一个字符或其他安排。
总结:呃,没什么好说的。
看看this article - 它使用offsetParent属性递归计算出偏移量。
我总是会推荐jQuery来滚动你自己的浏览器变化的东西。 jquery CSS functions似乎有你需要的方法!
不幸的是,DOM文本节点似乎没有offsetLeft/offsetTop属性。而且jQuery也不能很好地处理文本节点:我找不到如何为它们编写选择器表达式(不要求children()不返回文本节点)。 – dpq 2008-12-28 21:13:32
没有任何内置的,跨浏览器的方式来做到这一点。我会 使用jQuery的尺寸插件:http://brandonaaron.net/docs/dimensions/
它是跨浏览器,并会给你的高度,宽度和x & y偏移,等等。
这几天有办法。一种方式:getBoundingRectangle:https://developer.mozilla.org/en-US/docs/Web/API/Element.getBoundingClientRect
- 1. 如何检索DOM Text节点的文本?
- 2. html dom文本节点
- 3. 在DOM中获取文本节点值
- 4. 规范文档:DOM文本节点
- 5. 标签位置正确的节点的XSLT输出文本()
- 6. 通过文本获取dom节点
- 7. 从javascript dom文本节点替换
- 8. DOM导航:消除文本节点
- 9. HTML&DOM:元素或节点如何插入文本中的任意位置?
- 10. 删除/重置DOM节点
- 11. 如何检查DOM文本节点是否是链接
- 12. 如何检索现有场景中节点的位置?
- 13. 检索离插入位置最近的节点
- 14. 在KendoUI/Angular中检索树节点文本
- 15. XML节点位置
- 16. 从父节点检索子节点
- 17. 如何使用lxml在特定位置插入文本节点?
- 18. 如何在XML DOM中检查具有特定文本的节点?
- 19. 检测DOM节点何时被删除?
- 20. 如何检测DOM节点插入?
- 21. 检索节点值(甲骨文11gR2的)
- 22. 在点击时检索父文本(jQuery)
- 23. 检索的XPath节点()值
- 24. 检索节点红色流
- 25. Drupal服务节点检索
- 26. Xpath的,检索节点值
- 27. 的Neo4j - 检索节点
- 28. 从检索属性节点
- 29. XPath检索节点内容
- 30. 查询检索节点组
使用你的想法 - 谢谢你的洞察力! http://stackoverflow.com/questions/6990350/jquery-get-text-currently-shown-ie-not-just-visible/6990382#6990382 – AlienWebguy 2011-08-09 03:10:47
耻辱,但在一个跨度包装正在修改页面,所以没有用我 – SuperUberDuper 2016-08-26 15:50:29