下面小編就為大家?guī)硪黄狫avaScript操作選擇對象的簡單實例。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考
JavaScript操作選擇對象的簡單實例
//替換選中文本內(nèi)容,參數(shù)text為要替換的內(nèi)容
function SetSelectionText(text) {
//非IE瀏覽器
if (window.getSelection) {
var sel = window.getSelection();
alert(sel.rangeCount); //選區(qū)個數(shù), 通常為 1 .
sel.deleteFromDocument(); //清除選擇的內(nèi)容
var r = sel.getRangeAt(0); //即使已經(jīng)執(zhí)行了deleteFromDocument(), 這個函數(shù)仍然返回一個有效對象.
var selFrag = r.cloneContents(); //克隆選擇的內(nèi)容
var frag = selFrag.childNodes; //如果執(zhí)行了deleteFromDocument(), 這個數(shù)組長度將會是 0
for (var i = 0; i < frag.length; i++) {
alert(frag[i].nodeName); //枚舉選擇的對象
}
var h1 = document.createElement('H1'); //生成一個插入對象
h1.innerHTML = text; //設(shè)置這個對象的內(nèi)容
r.insertNode(h1); //把對象插入到選區(qū), 這個操作不會替換選擇的內(nèi)容, 而是追加到選區(qū)的后面, 所以如果需要普通粘貼的替換效果, 之前執(zhí)行deleteFromDocument()函數(shù).
}
else if (document.selection && document.selection.createRange) {
//IE瀏覽器
var sel = document.selection.createRange(); //獲得選區(qū)對象
alert(sel.htmlText); //選擇區(qū)的html文本.
sel.pasteHTML('<h1>標(biāo)題</h1>'); //粘貼到選區(qū)的html內(nèi)容, 會替換選擇的內(nèi)容.
}
}
以上這篇JavaScript操作選擇對象的簡單實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考