[英]How can I know if an user deleted an element in a contenteditable div?
[英]How do I select (get range or selection object) an element in a contenteditable div if I know the element ID?
我有這個contenteditable元素:
<div id="editMe" contenteditable="true">
There is some text here.
<span id="selectThisText">This is the target text.</span>
And some here.
</div>
我想使用Javascript選擇(獲取范圍對象)#selectThisText的內容。 如何獲得該元素中內容的范圍?
提前致謝!
創建一個范圍並使用其selectNodeContents()
方法。
var span = document.getElementById("selectThisText");
var range = document.createRange();
range.selectNodeContents(span);
在IE <= 8(不支持DOM Range)的IE中不起作用。 但是,這是一種情況,在舊版IE中也一樣容易:
var span = document.getElementById("selectThisText");
var textRange = document.body.createTextRange();
textRange.moveToElementText(span);
//get Selection
var selection = window.getSelection();
//get Range
var range = selection.getRangeAt(0); //where the range selection happens.
var text = $('#selectThisText').text();
演示: http : //jsfiddle.net/5NBnP/
如果您使用的是香草Javascript,則應該可以
var text = document.getElementById('selectThisText').innerHTML;
或使用jQuery
var text = $('#selectThisText').html();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.