js 获取选中内容中含有的html标签
比如<div>这是<ahref="#">div</a>标签里的<span>内容</span></div>当鼠标在页面选中这里是div标签里的内容时能提取出来<a>和<sp...
比如<div>这是<a href="#">div</a>标签里的<span>内容</span> </div> 当鼠标在页面选中 这里是div标签里的内容时 能提取出来 <a>和<span>标签
展开
4个回答
展开全部
最近遇到这个问题,楼上没有给出答案,为了以后百度方便,回答一下。看了JQuery,里边想要获取html内容需要提供标签或id或class,并不能解决该问题。
if (window.getSelection) { //现代浏览器
userSelection = window.getSelection();
var range = userSelection.getRangeAt(0);
var rangeText = range.toString();//选中文本
var div = document.createElement('div');
div.appendChild(range.cloneContents);
alert(div.innerHTML);
var rangeHtmlText = div.innerHTML;//选中内容,包含标签
//如果想获取里边的标签,可以通过
//var aArr = div.getElementsByTagName('a');
//for(var i=0; i<aArr.length; i++){ var aObj = aArr[i];}
} else if (document.selection) { //IE浏览器 考虑到Opera,应该放在后面
userSelection = document.selection.createRange();
var text = userSelection.text;//获得文本
var htmlText = userSelection.htmlText;//获得包含标签的内容
}
上面两种方法应该够用了
然后用
if (window.getSelection) { //现代浏览器
userSelection = window.getSelection();
var range = userSelection.getRangeAt(0);
var rangeText = range.toString();//选中文本
var div = document.createElement('div');
div.appendChild(range.cloneContents);
alert(div.innerHTML);
var rangeHtmlText = div.innerHTML;//选中内容,包含标签
//如果想获取里边的标签,可以通过
//var aArr = div.getElementsByTagName('a');
//for(var i=0; i<aArr.length; i++){ var aObj = aArr[i];}
} else if (document.selection) { //IE浏览器 考虑到Opera,应该放在后面
userSelection = document.selection.createRange();
var text = userSelection.text;//获得文本
var htmlText = userSelection.htmlText;//获得包含标签的内容
}
上面两种方法应该够用了
然后用
展开全部
//举个例子
document.getElementById('div1').getElementsByTagName('*');
//document.getElementById('div1')是选中的标签,*是指代任意html标签
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询