【急】如何全选DIV中的内容?

hccl 2010-12-28 12:03:58
在div中有表格,里面有内容,如何利用javascript来全部选择其中的内容,类似于ctrl+a的效果,最好可以同时将全选的内容复制到剪切板内存中。

用document.getElementById.select()函数似乎只能选择类似textarea对象的内容,而不能选择其他区域内如,请教各位如何实现?
...全文
694 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
hccl 2010-12-30
  • 打赏
  • 举报
回复
感谢yzyun,实现了全选和复制,但是还是没有实现带格式复制!
yzyun 2010-12-29
  • 打赏
  • 举报
回复
以下只在IE下可行:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta name="generator" content="editplus" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<script type="text/javascript">
function selectItem1(divID,copyType){
var divObj = document.getElementById(divID);
var range= document.body.createTextRange();
range.moveToElementText(divObj)
range.moveEnd('character',-1);
range.moveStart('character',-1);
range.select();
if (copyType=="text")
{
window.clipboardData.setData('Text', divObj.innerText);
}else{
window.clipboardData.setData('Text', divObj.innerHTML);
}
}


</script>
</head>

<body>
<div id="div01" style="border:1px solid red;" >

div里面的表格:
<table border =1>
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
</table>

表格结束
</div>
<input type="button" value="select & copy" onclick="selectItem1('div01','html')" />

</body>
</html>


hccl 2010-12-29
  • 打赏
  • 举报
回复
看来是没有希望了
Mr-Jee 2010-12-28
  • 打赏
  • 举报
回复
document.getElementById("divid").innerHTML
码之魂 2010-12-28
  • 打赏
  • 举报
回复
document.getElementById('divid').innerHTML即可获取里面的包含HTML的代码.
document.getElementById('divid').innerTEXT即可获取里面不包含HTML的文本.

放到剪切板...那个就不用说了吧....
hccl 2010-12-28
  • 打赏
  • 举报
回复
楼上请说的明白些,我就是不知道如何获取里面的值
码之魂 2010-12-28
  • 打赏
  • 举报
回复
你获取DIV利的值,然后放入剪切板里就完毕!
hccl 2010-12-28
  • 打赏
  • 举报
回复
在线等啊~~~
hccl 2010-12-28
  • 打赏
  • 举报
回复
网页里用ctrl+c复制选中区域,在excel中用ctrl+v可以原样带格式(包括颜色字体等)输出,而利用剪切板似乎不能。
如何利用javascript来实现类似ctrl+c的功能呢
hccl 2010-12-28
  • 打赏
  • 举报
回复
大家帮忙啊~~~
hp2008001 2010-12-28
  • 打赏
  • 举报
回复
document.getElementById("divid").innerHTML

放入剪切板的话要权限的
hccl 2010-12-28
  • 打赏
  • 举报
回复
难道没人知道如何实现全选和格式复制吗?再顶一下
hccl 2010-12-28
  • 打赏
  • 举报
回复
感谢几位,我还希望完成全选的功能,如果放入剪切板我也不会
jcx396158820 2010-12-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ptzxzc 的回复:]
document.getElementById('divid').innerHTML即可获取里面的包含HTML的代码.
document.getElementById('divid').innerTEXT即可获取里面不包含HTML的文本.

放到剪切板...那个就不用说了吧....
[/Quote]
+1
strife013 2010-12-28
  • 打赏
  • 举报
回复
focus?
CaiKanXP 2010-12-28
  • 打赏
  • 举报
回复
var text = oDiv.textContent || oDiv.innerText; // textContent是标准属性,innerText是IE属性。
复制到剪贴板各浏览器处理差异很大,建议取出上面的text之后,填入另一个文本框,然后手动复制:
oTextarea.value = text;

采用jQuery取元素内的文本更方便:
var text = $('#elemId').text();

在IE中将文本复制到剪贴板:
window.clipboardData.setData('Text', text);

以上只能在js代码中通过编程的方式获取文本,无法在浏览器中实现文本选择效果。要实现文本区域选择,各浏览器处理也各不相同。
hccl 2010-12-28
  • 打赏
  • 举报
回复
似乎回答都没有达到要求,再加油一次
Yan_October 2010-12-28
  • 打赏
  • 举报
回复
function MoveDiv()
{
document.getElementById("MyDiv").innerHTML;
document.getElementById("MyDiv").style.display="none"; // 如果只需要隐藏DIV 可以直接用这个
document.getElementById("MyDiv").style.display="block"; // 这是显示DIV的
}
<div id="MyDiv">
内容
</div>

上面那个忘了改了 =-=
Yan_October 2010-12-28
  • 打赏
  • 举报
回复
function MoveDiv()
{
document.getElementById("MyDiv").innerHTML;
document.getElementById("MyDiv").style.display="none"; // 如果只需要隐藏DIV 可以直接用这个
document.getElementById("MyDiv").style.display="none"; // 这是显示DIV的
}
<div id="MyDiv">
内容
</div>
crazymanjllp 2010-12-28
  • 打赏
  • 举报
回复
带HTML
document.getElementById("divid").innerHTML
只要文字
document.getElementById("divid").innerText
加载更多回复(1)

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧