我需要选择我的HTML内容(如高亮文本所示我可以复制它)。我想创建一个按钮,选择两个<div>
或两个<p>
之间的所有内容(任何标签)。查看codepen我需要选择的内容。
我找到了一些选择的想法,但我不确定(有点困惑)
<input onClick="this.setSelectionRange(0, 9999)" value="Sample Text" />
var range = document.createRange();
var sel = window.getSelection();
range.setStart(el.childNodes[2], 5);
range.collapse(true);
我希望它通过两个标签创建范围。
感谢您的帮助
答案 0 :(得分:0)
根据Select all DIV text with single mouse click的Denis,您应该使用
function SelectText(element) {
if (document.selection) {
var range = document.body.createTextRange();
range.moveToElementText(document.getElementById(element));
range.select();
} else if (window.getSelection) {
var range = document.createRange();
range.selectNode(document.getElementById(element));
window.getSelection().addRange(range);
}
}
从名为element
的参数中选择元素中的文本。
为了确保您可以选择表格,您必须将其放在<div>
:
<div id="foo">
<table>
...
</table>
</div>
你必须对任何其他事情做同样的事情
<div id="bar">
<p>
...
</p>
</div>
然后,您可以使用此按钮选择该表:
<input type="button" onclick="SelectText(foo)" value="Select table">
对于其他div
s:
<input type="button" onclick="SelectText(bar)" value="Select p">
让我知道它是否有效 快乐编码:) -Charlie