怎样获取div内的HTML代码并将其复制到剪贴板

<div id="content001">
<table>
<tr>
<td>Text Here </td>
</tr>
</table>
</div>

用JS,怎样通过传递div的id参数来获取div里面包含的HTML代码,并将它们复制到剪贴板?

可以通过jquery的一个复制插件zclip来实现,因为它的兼容性非常好。

引入JS文件

<script src="jquery.min.js"></script> 
<script src="jquery.zclip.min.js"></script>

html代码:

<div style="margin:200px auto;width:300px;">
<input type="text" value="输入框中的内容" id="link"> 
<a id="copyBtn" href="javascript:;">复制链接</a> 
<div id="div_body">
    <span style="color:red;">这里是div中的html内容</span>
</div>
<a id="copyDiv" href="javascript:;">复制链接</a> 
</div>

JS代码:

<script>
    $('#copyBtn').zclip({
        path: "ZeroClipboard.swf",
        copy: function(){
            return $('#link').val();
      }
    });
    $('#copyDiv').zclip({ 
        path: "ZeroClipboard.swf", 
        copy: function(){ 
            return $('#div_body').html(); 
        },
        afterCopy: function () {
            alert("已成功复制!");
        }
    }); 
</script>

关于zclip详细使用可以百度!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-03-27
一、单行垂直居中

如果一个容器中只有一行文字,对它实现居中相对比较简单,我们只需要设置它的实际高度height和所在行的高度line-height相等即可。如:

复制内容到剪贴板
代码:

div {
height:25px;
line-height:25px;
overflow:hidden;
}
这段代码很简,后面使用overflow:hidden的设置是为了防止内容超出容器或者产生自动换行,这样就达不到垂直居中效果了。
复制内容到剪贴板
代码:
<!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> 单行文字实现垂直居中 </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
body { font-size:12px;font-family:tahoma;}
div {
height:25px;
line-height:25px;
border:1px solid #FF0099;
background-color:#FFCCFF;
}
</style>
</head>
<body>
<div>现在我们要使这段文字垂直居中显示!</div>
</body>
</html>
不过在Internet Explorer 6及以下版本中,这和方法不支持对图片设置垂直居中。

二、多行未知高度文字的垂直居中

如果一段内容,它的高度是可变的那么我们就可以使用上一节讲到的实现水平居中时使用到的最后一种方法,就是设定Padding,使上下的padding值相同即可。同样的,这也是一种“看起来”的垂直居中方式,它只不过是使文字把<div>完全填充的一种访求而已。可以使用类似下面的代码:
复制内容到剪贴板
代码:
div {
padding:25px;
}
这种方法的优点就是它可以在任何浏览器上运行,并且代码很简单,只不过这种方法应用的前提就是容器的高度必须是可伸缩的。
复制内容到剪贴板
代码:
<!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> 多行文字实现垂直居中 </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
body { font-size:12px;font-family:tahoma;}
div {
padding:25px;
border:1px solid #FF0099;
background-color:#FFCCFF;
width:760px;
}
</style>
</head>
<body>
<div><pre>现在我们要使这段文字垂直居中显示!
div {
padding:25px;
border:1px solid #FF0099;
background-color:#FFCCFF;
}
</pre></div>

</body>
</html>
第2个回答  2009-03-28
function copyData(id){
window.clipboardData.setData('Text/html',document.getElementByID(id).innerHTML);
}

上面就是具体函数,下面是调用:
copyData("content001");
第3个回答  推荐于2016-02-13
<script type="javascript">
function copyInnerHtml(objId)
{
var obj = document.getElementByID(objId);
window.clipboardData.setData("Text", obj.innerHTML);
}
</script>
<div id="content001">
<table>
<tr>
<td>Text Here </td>
</tr>
</table>
</div>
<a href="#" onclick='copyInnerHtml("content001");'>复制</a>本回答被提问者采纳
第4个回答  2009-03-26
以下代码在IE中调试通过,没有安装垃圾火狐,无法测试:

<div id="content001">
<table>
<tr>
<td>Text Here </td>
</tr>
</table>
</div>

<script type=text/javascript>
window.clipboardData.setData("Text", content001.innerHTML)
alert('以下内容已经拷贝到剪贴板:\n'+content001.innerHTML);
</script>