18
A
回答
26
其基本区别在于Selection
代表用户的选择,而Range
代表文档的连续部分,独立于任何视觉表示。 A Selection
可以(几乎)以零,一个或多个Range
的形式表达,但范围也可以独立于选择完全创建和修改。
有一个在功能上有些重叠,例如:Selection
的deleteFromDocument()
相当于调用其所有成分范围的deleteContents()
,并且可以使用anchorNode
,anchorOffset
获得最近选定范围的边界在选择,focusNode
和focusOffset
属性。但是,有一些关键的区别:
- A
Selection
可能包含多个范围。但是,目前唯一支持这一功能的主要浏览器是Firefox。 - 甲
Selection
可以是“向后”,我的意思是早文档比开始边界(anchorNode
和anchorOffset
)中可能会发生的选择(由focusNode
和focusOffset
表示)的端部边界。范围没有方向。 toString()
工作原理不同。在大多数浏览器中(虽然显然不是IE 9),在Selection
对象上调用toString()
只返回所选的可见文本,而在Range上调用toString()
将返回范围内所有文本节点的连接,包括<script>
元素中的所有文本节点和通过CSS隐藏的元素。
相关问题
- 1. 浏览器之间的区别
- 2. 类范围和对象范围之间的区别
- 3. Elasticsearch:“范围过滤器”和“数字范围过滤器”之间的区别
- 4. 如何找到Chrome浏览器和Android原生浏览器之间的区别
- 5. css/javascript选择器之间的区别
- 6. 这些选择器之间的区别
- 7. jquery选择器之间的区别
- 8. 选择器之间的区别
- 9. CSS选择器之间的区别
- 10. 问题与IE浏览器的选择和范围
- 11. 手机和平板电脑的浏览器之间的区别
- 12. 选择和收集之间的区别
- 13. iPad 2和iPad 3默认浏览器之间的区别?
- 14. AJAX请求和常规浏览器请求之间的区别
- 15. Android和Chrome浏览器之间的Chrome有什么区别?
- 16. cURL和网络浏览器之间的区别?
- 17. 浏览器和Illustrator之间svg渲染的区别
- 18. 当我<x和范围(x)中的i之间的区别?
- 19. 选择器中的'space`和find()之间的区别
- 20. Chrome浏览器中的日期范围选择器日期选择问题
- 21. 空间和>选择器之间的区别
- 22. CSS选择器和jQuery过滤器之间的区别?
- 23. 浏览器和选项卡之间的高级别是什么?
- 24. MySQL选择数据之间的范围
- 25. DateTime选择器分钟日期和它们之间的范围
- 26. 日期和时间范围选择器
- 27. 如何使用webkit浏览器选择范围内的节点?
- 28. jQuery:字符串选择器和函数选择器之间的区别?
- 29. 规范和政策之间的区别?
- 30. 在node.js和浏览器中的函数上下文(this)之间的区别
看看这张表:http://www.quirksmode.org/dom/range_intro.html#link2。 – Blender 2011-04-06 21:22:24