我有一个p
元素,如何使用跨浏览器的JavaScript选择内部文本?
<p>Some Text to select</p>
我想在点击时选择该文本(例如当您使用mousedown并移动光标时)。它可以是jQuery解决方案。
答案 0 :(得分:3)
在@ADNow的评论帮助下,我能够编写选择文本的jQuery插件,我删除了$ .browser,因此它适用于jQuery&gt; 1.9。
$.fn.sel = function() {
var node = this[0];
if (document.body.createTextRange) {
var range = document.body.createTextRange();
range.moveToElementText(node);
range.select();
} else if (window.getSelection) {
var selection = window.getSelection();
if (selection.setBaseAndExtent) {
selection.setBaseAndExtent(node, 0, node, 1);
} else if (document.createRange) {
var range = document.createRange();
range.selectNodeContents(node);
selection.removeAllRanges();
selection.addRange(range);
}
}
};
答案 1 :(得分:0)
如果你想在一个小于jQuery的小型库中使用它,那么你可以使用Sizzle引擎(构建jQuery选择器)。缩小时只有4K大小。
答案 2 :(得分:0)
document.getElementsByTagName('p')[0].innerHTML
或通过类或id挂钩元素。在这种情况下,我使用p标签的数组,第一个元素使用0