关于使用javascript取被选中部分html代码问题 你把HTML写规范了就不会有问题了,记得/关闭元素 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那就获取外层的元素,没有就加个上去,然后利用外层元素的innerHTML来取 不行啊,我在外围加了元素,在IE里取innerhtml,还是一样的FF没试.....有没有更好的办法? 来了,这样做恐怕不太好吧,给用户的权限有点大,最好换个思路给用户:)如果要做可以试试下面的<textarea id="textarea1" style="width:200;height:200"></textarea><script language="javascript">function Gethtmlcode() { var rng=null,html=""; if (window.document.selection && window.document.selection.createRange){ rng=window.document.selection.createRange(); html=rng.htmlText; }else if (window.getSelection){ rng=window.getSelection(); if (rng.rangeCount > 0 && window.XMLSerializer){ rng=rng.getRangeAt(0); html=new XMLSerializer().serializeToString(rng.cloneContents()); } } document.getElementById("div1").innerHTML=(html); var objs=document.getElementById("div1").getElementsByTagName("a") if(objs) { for(var i=0;i<objs.length;i++) { alert(objs[i].target) } }else { alert("没选中<A>") }}</script><table border="1" contenteditable="true"> <tr><td><p align="center"><a href="http://qq.ip138.com/idsearch/" target="_blank">身份证号码查询验证</a>11111111</td><td><a href="http://www.ip138.com/ems" target="_blank"><p align="center">EMS邮政速递查询</a>2222222</td></tr> <tr><td><p align="center"><a href="http://qq.ip138.com/idsearch/" target="_blank">身份证号码查询验证</a>333</td><td><a href="http://www.ip138.com/ems" target="_blank"><p align="center">EMS邮政速递查询</a>4444</td></tr></table><input name="button1" type="button" value="按" onclick="Gethtmlcode()"><div id="div1" style="display:none"></div> hbhbhbhbhb1021理解错了吧?我并不要想知道到底有没有target,以及是否有引号我只想要更准确的html代码...和源文件一样的代码.使用rng.htmlText和new XMLSerializer().serializeToString(rng.cloneContents())都不准确... 可能跟你Mozilla的版本有关,我刚你的步骤操作,除了Mozilla下多出一些空格代码是一样的啊 to:wldlzt 我的FF是最近版的IE也不正常啊... ff等几个符合dom2标准的浏览器,在解释页面的时候都是将代码规范成xhtml的。你可以用dom做几个元素并设置属性放到一个父元素里,然后alert(父元素.innerHTML)ie下你会看到标签是大写,而且很多属性都没有双引号封闭。或者打开一个页面,分别用ie和ff另存成html格式,查看html的代码,跟你通过源文件看到的代码都是不同的。如果你用过某些在线的富文本编辑器,看看ie和ff下生成的代码。js依赖浏览器,引擎不同,结果也会有些出入。 最近收集的常用的Javscript小技巧 JSP网页内存泄露问题 求助大侠,关于IE7不能浏览部分javascript网页特效的问题 一个函数调用问题 FileUpload控件相应另外一个按钮的Click事件后,画面第一次点击按钮不能刷新的问题 (急)那位高手能帮我改改代码,谢谢! checkbox关联选择问题? window.open问题 我想在javascript中生成一个select语句,然后传给asp?sql= 中的sql参数,格式怎么定? javascript代码的一些疑问 这样情况下,怎样移动div? 怎么用window.open 在firefox,遨游等浏览器中固定大小
FF没试.....
有没有更好的办法?
如果要做可以试试下面的<textarea id="textarea1" style="width:200;height:200">
</textarea>
<script language="javascript">
function Gethtmlcode() {
var rng=null,html="";
if (window.document.selection && window.document.selection.createRange){
rng=window.document.selection.createRange();
html=rng.htmlText;
}else if (window.getSelection){
rng=window.getSelection();
if (rng.rangeCount > 0 && window.XMLSerializer){
rng=rng.getRangeAt(0);
html=new XMLSerializer().serializeToString(rng.cloneContents());
}
}
document.getElementById("div1").innerHTML=(html);
var objs=document.getElementById("div1").getElementsByTagName("a")
if(objs)
{
for(var i=0;i<objs.length;i++)
{
alert(objs[i].target)
}
}else
{
alert("没选中<A>")
}
}
</script>
<table border="1" contenteditable="true">
<tr>
<td><p align="center"><a href="http://qq.ip138.com/idsearch/" target="_blank">身份证号码查询验证</a>11111111</td>
<td><a href="http://www.ip138.com/ems" target="_blank"><p align="center">EMS邮政速递查询</a>2222222</td>
</tr>
<tr>
<td><p align="center"><a href="http://qq.ip138.com/idsearch/" target="_blank">身份证号码查询验证</a>333</td>
<td><a href="http://www.ip138.com/ems" target="_blank"><p align="center">EMS邮政速递查询</a>4444</td>
</tr>
</table>
<input name="button1" type="button" value="按" onclick="Gethtmlcode()">
<div id="div1" style="display:none"></div>
理解错了吧?
我并不要想知道到底有没有target,以及是否有引号
我只想要更准确的html代码...和源文件一样的代码.
使用rng.htmlText和new XMLSerializer().serializeToString(rng.cloneContents())都不准确...
我的FF是最近版的
IE也不正常啊...
你可以用dom做几个元素并设置属性放到一个父元素里,然后alert(父元素.innerHTML)
ie下你会看到标签是大写,而且很多属性都没有双引号封闭。
或者打开一个页面,分别用ie和ff另存成html格式,查看html的代码,跟你通过源文件看到的代码都是不同的。
如果你用过某些在线的富文本编辑器,看看ie和ff下生成的代码。
js依赖浏览器,引擎不同,结果也会有些出入。