我想在HTML文檔中的任何選定文本之前和之後放置一些指定的文本(如果可能/任何可編輯的字段)。 document.getSelection()
或document.selection.createRange().text
只返回文本本身而不是位置。 無論如何要替換選定的文本?無論如何在文檔中的任意位置選擇文本之前和之後插入特定文本?在javascript中選定的文本之前和之後插入文本
0
A
回答
4
這裏是一個跨瀏覽器的功能,要做到這一點,它適用於所有主要的瀏覽器,並迎合千差萬別的方式IE瀏覽器這相比於其他瀏覽器。
活生生的例子:http://jsfiddle.net/timdown/UWExN/64/
function insertHtmlAtSelectionEnd(html, isBefore) {
var sel, range, node;
if (window.getSelection) {
sel = window.getSelection();
if (sel.getRangeAt && sel.rangeCount) {
range = window.getSelection().getRangeAt(0);
range.collapse(isBefore);
// Range.createContextualFragment() would be useful here but was
// until recently non-standard and not supported in all browsers
// (IE9, for one)
var el = document.createElement("div");
el.innerHTML = html;
var frag = document.createDocumentFragment(), node, lastNode;
while ((node = el.firstChild)) {
lastNode = frag.appendChild(node);
}
range.insertNode(frag);
}
} else if (document.selection && document.selection.createRange) {
range = document.selection.createRange();
range.collapse(isBefore);
range.pasteHTML(html);
}
}
5
試試這個:
var r = document.selection.createRange();
r.text = "before" + r.text;
r.text += "after";
+0
它正在工作..謝謝! – SMUsamaShah 2011-01-22 20:58:54
相關問題
- 1. 插入文本之前,在所選文本後
- 2. PHP在字符串之前和之後插入一些文本
- 3. 需要特定文本之後和其他特定文本之前的文本
- 4. 將文本插入WPF文本框中的舊文本之前
- 5. C#我想在文本框中的「+ - * /」之前和之後插入空格
- 6. 在VBA中,如何在樣式之前和之後插入文本?
- 7. 在特定文本之後插入文本
- 8. 使用javascript在特定圖像之後插入文本
- 9. 如何在javascript中的文本之後插入新行
- 10. 刪除文本之前和之後文本,我想 - PHP
- 11. 如何在文件的特定行之後插入文本
- 12. 查找所有粗體文本並在它之前和之後插入括號
- 13. 在contenteditable中選擇文本前後插入文本
- 14. 在文本文件中的特定單詞之前和之後獲取單詞
- 15. 在文本匹配之前插入一行新文本
- 16. 在br/tag之前和之後獲取文本 - vb.net中的htmlagilitypack
- 17. 在wpf datagrid中當前選定的行之前和之後插入新行
- 18. xsltproc在多個文件之前和之後添加文本
- 19. 在節點之前和之後插入
- 20. 在使用sed的特定行之前插入多行文本
- 21. Javascript - 在將文本放入文本框之前更改建議的文本
- 22. 如何在jQuery中選擇<br>之前和之後的文本?
- 23. 在文本選擇之前/之後添加元素
- 24. 如何在一定數量的單詞之後插入文本
- 25. 獲取文本框光標位置(文本之前或之後)
- 26. 將文件讀入文本框之後選擇文本
- 27. 替換之前和文本
- 28. 在文本文件的最後一行之前添加文本
- 29. 如何在Word中查找文本,在VBA文本之前插入其他值
- 30. powershell:在特定行之前追加文本而不是之後
你可以得到的字符串,添加要開始和結束的東西,然後重新插入原來的位置? – JakeParis 2011-01-22 20:47:38
如何'重新插入'到'原始位置' – SMUsamaShah 2011-01-22 20:48:58