JS复制DOM元素文字内容

要实现的效果:将HTML页面中的某个DOM元素例如DIV下面的文本内容进行复制。

实现过程如下:

 1 <html>
 2 <head>
 3     <title>Copy text Demo</title>
 4     <script type="text/javascript" src="jquery.min.js"></script>
 5     <script type="text/javascript">
 6      //复制内容
 7         function Copy()
 8         {
 9             var copyData = $(‘#testDiv‘).text();
10             if (window.clipboardData) {
11                 window.clipboardData.clearData();
12                 window.clipboardData.setData("Text", copyData);
13                 alert(‘已经成功复制到剪帖板上!‘);
14             }
15             else
16             {
17                 selectText("testDiv");
18                 alert(‘非IE浏览器请使用CTRL + C键进行复制!‘);
19             }
20         }
21
22         //选中文字
23         function selectText(element) {
24             var text = document.getElementById(element);//获取要选中的内容
25             if (document.body.createTextRange) {//IE浏览器
26                 var range = document.body.createTextRange();//创建选区
27                 range.moveToElementText(text);//移动TextRange对象使其起始点之间包含指定对象内的文本
28                 range.select();//选中选区
29             } else if (window.getSelection) {//非IE浏览器,getSelection方法可以产生Selection对象,所对应的是用户所选择的 ranges (区
30
31 域),俗称拖蓝。
32                 var selection = window.getSelection();
33                 selection.removeAllRanges();//将所有的区域都从选区中移除
34                 var range = document.createRange();//返回新创建的 Range 对象,两个边界点都被设置为文档的开头
35                 range.selectNodeContents(text);//把范围边界设置为一个节点的子节点
36                 selection.addRange(range);//将一个区域(Range)对象加入选区
37             }
38         }
39     </script>
40 </head>
41 <body>
42 <div id="testDiv" style="overflow-x: hidden; word-break:break-all;border:1px solid #CCC;width:500px;height:333px;margin:50px auto;">
43    JQuery是继prototype之后又一个优秀的Javascript库。它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+,
44
45 Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML(标准通用标记语言下的一个应用)、events、实
46
47 现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟
48
49 的插件可供选择。jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需要定义id即可
50
51 。
52 jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多)。jQuery在2006年1月由美国人John Resig在纽约的
53
54 barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,由Dave Methvin率领团队进行开发。如今,jQuery已经成为最流行的javascript库,在
55
56 世界前10000个访问最多的网站中,有超过55%在使用jQuery。
57 jQuery是免费、开源的,使用MIT许可协议。jQuery的语法设计可以使开发更加便捷,例如操作文档对象、选择DOM元素、制作动画效果、事件处理、使
58
59 用Ajax以及其他功能。除此以外,jQuery提供API让开发者编写插件。其模块化的使用方式使开发者可以很轻松的开发出功能强大的静态或动态网页。
60 jQuery,顾名思义,也就是JavaScript和查询(Query),即是辅助JavaScript开发的库。
61 </div>
62 <div style=‘width:500px;margin:10px auto;‘>
63     <input type="button" value="复制div中的内容" onclick="Copy()" />
64 </div>
65 </body>
66 </html>

注意,实现是JS+jquery,所以首先要先有个jquery库文件。下载地址:http://jquery.com/download/

目前只能在IE下直接复制,其他浏览器只能做到帮用户全选。

最终执行效果图:

1.IE

2.谷歌浏览器

3.火狐浏览器

参考例子:

1.https://developer.mozilla.org/zh-CN/docs/Web/API/Selection

2.http://www.zhangxinxu.com/wordpress/?p=755

时间: 2024-10-21 23:19:16

JS复制DOM元素文字内容的相关文章

Js为Dom元素绑定事件须知

为异步加载的Dom 元素绑定事件必须在加载完成之后绑定: $('body').load('LearnClickBinding.ashx');$('a').click(function () { alert('I was clicked!'); }); 上面的绑定是无效的,因为异步加载需要时间,而在获取元素之前,早已执行了$('a').click();方法,所以绑定失败. 正确的做法是,等待元素加载完后再执行 $('a').click(); $('body').load('LearnClickBi

JS获取DOM元素的八种方法

什么是HTML DOM 文档对象模型(Document Object Model),是W3C组织推荐的处理可扩展置标语言的标准编程接口.简单理解就是HTML DOM 是关于如何获取.修改.添加或删除 HTML 元素的标准.我们用JavaScript对网页进行的所有操作都是通过DOM进行的. 这篇文章不做深入研究,只把各种用法和坑做一个总结. JS获取DOM元素的方法(8种) 通过ID获取(getElementById) 通过name属性(getElementsByName) 通过标签名(getE

纯js实用DOM元素放大缩小特效插件

Zoomerang.js是一款非常实用的HTML DOM元素放大缩小js特效插件.它可以将页面上的任何元素进行放大缩小.当某个元素处于Zoomerang的监听状态时,点击该元素可以将它放大到屏幕的中间,再次点击它又会回到原来的位置. 使用注意事项: 该元素放大缩小效果依赖于CSS Transform(IE浏览器至少要IE10才能支持) 在固定尺寸的元素上效果最佳:display: block.display: inline-block和img. 避免在很长的文本段上使用. 在mobile上使用时

js操作dom元素属性和方法

1.用于处理xml文档的dom元素属性 属性名                      描述 childNodes返回当前元素所有子元素的数组 firstChild返回当前元素的第一个下级子元素 lastChild返回当前元素的最后一个子元素 nextSbling返回紧跟在当前元素后面的元素 nodeValue指定表示元素值的读写属性 parentNode返回元素的父节点 previousSibling返回紧邻当前元素之前的的元素 2.用于遍历XML文档的dom元素方法 方法名        

使用Vue.js获取dom元素

标签中添加ref属性,相当于id 在Vue中通过    $refs.ref的属性名    获取或者设置dom元素 <div id="demo"> <button @click="fn">点击这里</button> <div ref="box" style="width:200px;height:300px">西南交大</div> </div> <sc

JS选取DOM元素的方法

摘自JavaScript权威指南(jQuery根据样式选择器查找元素的终极方式是 先用getElementsByTagName(*)获取所有DOM元素,然后根据样式选择器对所有DOM元素进行筛选) 今天试了下各种选取元素的方法的速度,用原生的方法比jquery要快差不多8倍,IE8是最慢的,IE9的速度差不多是IE8的3倍,Chrome的表现最好,其次是Firefox) 选取文档元素的方法: 1.通过ID选取元素(getElementById)   1)使用方法:document.getElem

js之DOM元素遍历

对于元素间的空格,IE9之前的版本不会返回文本节点,而且他所有浏览器都会返回文本节点.这样就导致 使用childNodes和firstChild等属性时的行为不一致.从而有了Element Traversal API 为DOM元素添加额以下5个元素: chaildElementCount:返回子元素(不包括文本节点和注释)的个数 firstElementChild:指向第一个子元素 lastElementChild:指向最后一个子元素 previousElementSilbing:指向前一个同辈

Js操作DOM元素及获取浏览器高宽

在JavaScript中,经常会来获取Document文档元素,是 HTML 文档对象模型的英文缩写,Document Object Model for HTML,是基于浏览器编程,HTML DOM 定义了用于 HTML 的一系列标准的对象,以及访问和处理 HTML 文档的标准方法. 通过 DOM,可以访问所有的 HTML 元素,连同它们所包含的文本和属性.可以对其中的内容进行修改和删除,同时也可以创建新的元素.HTML DOM 独立于平台和编程语言.它可被任何编程语言诸如 Java.JavaS

JS操作DOM元素

有两种方式可以修改DOM对象的属性: "."运算符 和 getAttribute(setAttribute)方法. 区别如下: Html代码 1.[div id="test" class="cls" dir="ltr" title="wott" ss="ss"][/div]  [div id="test" class="cls" dir="